gpt4 book ai didi

mysql - 插入前检查SQL表中是否存在具有相同唯一ID的记录

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

如何检查表中是否有另一条记录具有相同的唯一 ID(列名是 ID),如果存在不做任何事情,否则插入记录?

我是否需要索引 ID 列并将其设置为唯一/主键?

最佳答案

一种选择是使用INSERT IGNORE。顾名思义,它将插入不存在的行,并且不会对重复的行执行任何操作。

CREATE TABLE Table1 (
`id` int NOT NULL PRIMARY KEY,
`foo` varchar(20)
);

INSERT IGNORE INTO Table1
(`id`, `foo`)
VALUES
(1, 'a'),
(2, 'a'),
(3, 'a'),
(4, 'a'),
(1, 'a'),
(2, 'a'),
(1, 'a');

上面只会插入前 4 行。最后 3 行未插入,因为它们具有重复键。

SQL Fiddle Demo

INSERT IGNORE 要求您具有主键或唯一索引。

有关INSERT IGNORE(以及其他处理重复项的方法)的更多信息,请点击此处:MySQL Handling Duplicates

关于mysql - 插入前检查SQL表中是否存在具有相同唯一ID的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17251305/

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