如何讓它不添加重複項? 我想通過ID旁邊的所有其他列來檢查它。SQL不允許表中的重複記錄
我想這是無效的。
ID col1 col2 col3
1 first middle last
ID col1 col2 col3
2 first middle last
我希望這是有效的。
ID col1 col2 col3
1 first middle last
ID col1 col2 col3
2 first last middle
如何讓它不添加重複項? 我想通過ID旁邊的所有其他列來檢查它。SQL不允許表中的重複記錄
我想這是無效的。
ID col1 col2 col3
1 first middle last
ID col1 col2 col3
2 first middle last
我希望這是有效的。
ID col1 col2 col3
1 first middle last
ID col1 col2 col3
2 first last middle
嘗試喲使用:
INSERT IGNORE INTO tablename
Set col1="",col2="",col3=""
或使用
REPLACE INTO tablename
Set col1="",col2="",col3=""
或 可以使用 INSERT ... ON DUPLICATE KEY UPDATE語法
告訴我它是如何工作的!
您需要在所有三列上使用組合UNIQUE INDEX。請參見本示例表定義:
CREATE TABLE example (
ID INT PRIMARY KEY AUTO_INCREMENT,
col1 VARCHAR(32) NOT NULL,
col2 VARCHAR(32) NOT NULL,
col3 VARCHAR(32) NOT NULL,
UNIQUE(col1, col2, col3)
);
-- expected to be valid
INSERT INTO example (ID, col1, col2, col3) VALUES
(NULL, 'first', 'middle', 'last'),
(NULL, 'first', 'last', 'middle');
-- expected to be invalid
INSERT INTO example (ID, col1, col2, col3) VALUES
(NULL, 'first', 'middle', 'last'),
(NULL, 'first', 'middle', 'last');
DEMO @SQL Fiddle
你嘗試過什麼?要創建唯一的組合鍵,例如 –
,您不應該顯示重複記錄,或者您不想重複重複記錄? –
你的行不重複....你有兩個不同的ID ....現在,如果你想檢查col col ... – Hackerman