我的 MySQL 语句(我用 4 天时间找到一个有效的语句)应该取 1 个给定值并检查 3 个不同的列是否已填充或为 NULL。如果该列有值,则转到下一列。如果该列为 NULL,则应将给定值写入该单元格。
不幸的是,我的语句能够获取该列,但是当我尝试设置该值时,它始终设置为 0。当我尝试 +1 现有值时,它可以正常工作。
陈述:
UPDATE `license` SET
`hardwareid1` = IF( `hardwareid1` = 123,`hardwareid1` = 987, `hardwareid1`) ,
`hardwareid2` = IF( `hardwareid2` = 123, `hardwareid2` = 987, `hardwareid2` )
WHERE `code` = 99
在哪里= 123
,在生产中,我将使用“$value”中的示例值IS NULL
的代表987
因此,如果hardwareid1 真的是123
它不会写987
,而是0
。
请帮忙