gpt4 book ai didi

mysql - 在 MySQL 中的同一个表中插入行

转载 作者:行者123 更新时间:2023-11-29 02:47:13 24 4
gpt4 key购买 nike

我正在执行以下 INSERT 查询:

INSERT INTO Elements
(EventID, TypeID)
SELECT EventID, 2
FROM Elements
Where TypeID = 1

即使用另一个 TypeID 在同一个表中插入元素行。它工作正常。

但是如果其中一些行已经存在且TypeID = 2,就会出现问题。在这种情况下,我只想跳过此类行的 INSERT 并继续。

INSERT IGNORE 对我不起作用,因为我没有这些列的唯一性或其他内容。我能做什么?

最佳答案

此处的一个选项是添加唯一索引,然后使用 INSERT IGNORE ... INTO 执行插入:

ALTER TABLE Elements ADD UNIQUE unique_index (EventID, TypeID)

INSERT IGNORE INTO Elements (EventID, TypeID)
SELECT EventID, 2
FROM Elements
WHERE TypeID = 1

如果 EventIDTypeID 对值已存在于 Elements 表中,则此插入将失败。

关于mysql - 在 MySQL 中的同一个表中插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40505697/

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