我有一个列调用isDifFromother,它保持1或2(默认设置为0)。
当我更新一行时,如果isDifFromother值具有0,我想设置2。
如果它有1,我想保持原样。

如何在我的更新查询中检查该条件。

这是我的查询...,

UPDATE `customer` SET `name`='" + name + "', `isPackage`='" + packageID + "', `billing_ID`='" + biling_ID + "', `isDifFromother`=IF customer.isDifFromother = '1'  THEN '2' END IF WHERE `id`='" + cusID + "';


但它嵌入了错误。

最佳答案

if语句不正确,应为

UPDATE `customer` SET `name`='" + name + "', `isPackage`='" + packageID + "', `billing_ID`='" + biling_ID + "', `isDifFromother`=IF(customer.isDifFromother = '0','2',customer.isDifFromother) WHERE `id`='" + cusID + "';


以下情况

`isDifFromother`=IF(customer.isDifFromother = '0','2',customer.isDifFromother)


如果其0保持原样,则将isDifFromother = 2设置。

关于mysql - 在SQL查询中编写条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28895255/

10-11 06:16