0

primary key当有一个列时,如何在 Mysql 中使用插入auto increments忽略

我有primary keysid主键自动增量),userId并且elmCol是没有自动增量的主键。

所以:

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吗?

4

1 回答 1

3

为了INSERT IGNORE在您的情况下工作,您需要在(userId, elmCol).

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

这是SQLFiddle演示。

于 2013-06-22T10:29:33.227 回答