gpt4 book ai didi

mysql - 仅当其他列中不存在值时才更新列

转载 作者:行者123 更新时间:2023-11-30 01:17:07 24 4
gpt4 key购买 nike

我有一个程序,使用这两个参数向 PHP 发送 2 个字符串($lic 表示许可证,$hwid 表示硬件 ID),我想更新列“hardwareid1、hardwareid2 或 hardwareid3”(其中值为每次登录时为 NULL),但我不想用相同的值填充 2 列(例如 hardwareid1 和 hardwareid2)!因此,如果 $hwid 中的值已存在于这 3 列之一中,则无需更新。

UPDATE  license
SET hardwareID3 = CASE WHEN hardwareID1 IS NOT NULL AND
hardwareID2 IS NOT NULL AND
hardwareID3 IS NULL
THEN '$hwid'
ELSE hardwareID3 END,
hardwareID2 = CASE WHEN hardwareID1 IS NOT NULL AND
hardwareID2 IS NULL
THEN '$hwid'
ELSE hardwareID2 END,
hardwareID1 = CASE WHEN hardwareID1 IS NULL
THEN '$hwid'
ELSE hardwareID1 END
WHERE code = '$lic'

解决方案:

 AND '$hwid' NOT IN (COALESCE(hardwareID1,hardwareID2,hardwareID3, 0))

最佳答案

即使设置了 id3,您的代码也会更新 hardwareId2 和 hardwareId1。不知道您想达到什么目的。

看看 COALESCE() MySQL 函数,用于构建满足您需求的更复杂的语句:)

关于mysql - 仅当其他列中不存在值时才更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18944021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com