这是一个比较容易混淆的 sql 错误,明明感觉语句是对的,更新字段却提示更新记录数为 0。

UPDATE xxx_mall SET `is_good`=3 AND `valid_good`=0 WHERE `itemid` IN (2819)

UPDATE xx SET 语句在更新多个字段时,应该是英文逗号隔开,而不是用作为组合条件的 AND 来连接。

正确写法:

UPDATE xxx_mall SET `is_good`=3,`valid_good`=0 WHERE `itemid` IN (2819)