gpt4 book ai didi

mysql - 当存在自动递增的主键时,在 MySql 中插入忽略

转载 作者:太空宇宙 更新时间:2023-11-03 12:26:44 26 4
gpt4 key购买 nike

当有一个列是主键并且自动递增时,我如何在Mysql中使用insert ignore。

我在 id 上有 primary keys(主键自动递增),userIdelmCol 是主要的没有自动递增的键。

所以:

id | userId | elmCol
--------------------
1 | 1 | 1 //Allow
2 | 1 | 2 //Allow
3 | 1 | 3 //Allow
4 | 1 | 1 //Not allowed if inserted again. I've put it in here just for example
5 | 2 | 1 //Allow
6 | 2 | 2 //Allow
7 | 2 | 3 //Allow
8 | 2 | 1 //Not allowed if inserted again. I've put it in here just for example

我正在使用 MySql 和 MyIsam 类型的表。我可以做这样的事情并使用 insert ignore 吗?

最佳答案

为了让 INSERT IGNORE 在您的情况下工作,您需要在 (userId, elmCol) 上创建一个 UNIQUE 索引。

ALTER TABLE table_name
ADD CONSTRAINT u_userId_elmCol
UNIQUE (userID, elmCol);

这是 SQLFiddle 演示。

关于mysql - 当存在自动递增的主键时,在 MySql 中插入忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17249662/

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