2013-06-22 127 views
0

如果有一列是primary key,那麼我如何在Mysql中使用插入忽略以及auto increments當主鍵自動增量時,在MySql中插入忽略

primary keysid(主鍵自動遞增),和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

+2

表中只能有一個主鍵,儘管它可以是字段的組合,所以您需要說明您的設置是什麼。而「插入忽略」是什麼意思? –

回答

3

爲了讓INSERT IGNORE適用於您的情況,您需要在(userId, elmCol)上創建一個UNIQUE索引。

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

這裏是SQLFiddle演示。

+0

謝謝......完美地工作。現在:) – Norman

+0

太棒了!我很高興我可以幫助:)。 – peterm