我发现了几个类似的问题,但没有一个让我克服了障碍。 (这个很近 How to 'insert if not exists' in MySQL? )
我需要从一个表中读取除一个 ID 之外的所有 ID,然后用它们更新另一个表。目标表有 2 列。这些列之一必须是那个外国身份证。我希望另一列是我硬编码到查询中的数字。
像这样:
letter_id drop_letter_id
10 99
应用程序中发生的事情是,如果有人订阅了第 10 封信,那么它会取消订阅第 99 封信。我希望 99 是那些没有订阅任何其他东西的人所独有的,所以我需要找到所有的信件 ID不是 99 并将它们添加到此删除表中作为
letter_id drop_letter_id
x 99
y 99
其中 x 和 y 是其他字母 ID 编号。
有点像
SELECT letter_id FROM letters WHERE letter_is<>99
然后
INSERT IGNORE INTO letter_drops (x,99)...
最佳答案
如果我没记错的话,它是:
INSERT IGNORE INTO letter_drops SELECT letter_id, 99 FROM letters WHERE letter_id!=99
关于MySQL根据条件将指定值和找到的值插入表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19187732/