我的MySQL语句(我用了4天才找到一个工作的)应该取1给定的值,并检查3个不同的列,如果它们被填充或NULL。如果该列有一个值,则会转到下一列。如果该列为NULL,则应将给定值写入该单元格。MySQL语句总是将值设置为0当更新设置
不幸的是,我的声明能够获取该列,但是当我尝试设置该值时,它始终设置为0.当我尝试对现有值+1进行设置时没有问题。
声明:
UPDATE `license` SET
`hardwareid1` = IF(`hardwareid1` = 123,`hardwareid1` = 987, `hardwareid1`) ,
`hardwareid2` = IF(`hardwareid2` = 123, `hardwareid2` = 987, `hardwareid2`)
WHERE `code` = 99
凡= 123
是,在生产中我将使用IS NULL
的987
代表从 “$值”
因此,例如值,如果hardwareid1是真的123
它doestn写代替987
而是0
。
请帮
UPDATE许可证 SET hardwareID1 = IF(hardwareID1 = 123,987,hardwareID1) hardwareID2 = IF(hardwareID1 = 55,987,hardwareID2) WHERE代码= 99 试过,用于第一工作列,但从来没有为第二个 – PoscheL
尝试我上面的查询。 –
神圣的废话,你是一个天才:)为什么是难以理解的MySQL文档,这里的人总是这真棒:)为第三列生病只需添加另一个“hardwareid2 ....”吧? – PoscheL