MySQL根据条件将指定值和找到的值插入表中

标签 mysql insert-into

我发现了几个类似的问题,但没有一个让我克服了障碍。 (这个很近 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/

相关文章:

mysql - sql DROP CONSTRAINT UNIQUE 不起作用

postgresql - 当选择不匹配时插入

MySQL:将数据写入表和列

java - 插入sql默认值错误

mysql - 在 mySQL 查询中使用正确的连接

php - 在php中获取mysql时区

mysql - 1292 : Incorrect datetime value: '' for column at row 1

mysql - 从 SQL 选择月份和年份

mysql - 如何将另一个表中的值插入到表中 - mysql 内连接