2010-10-30 58 views
1

在我的MySQL表中使用UNIQUE KEY的正確方法是什麼?MySQL - 使用UNIQUE KEY的正確方法?

MySQL數據。

id pid aid 
1 2 3 
2 3 2 
3 3 4 

MySQL表。

CREATE TABLE ab ( 
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
pid INT UNSIGNED NOT NULL DEFAULT 0, 
aid INT UNSIGNED NOT NULL DEFAULT 0, 
PRIMARY KEY (id), 
UNIQUE KEY (pid, aid) 
); 
+0

這取決於你需要做的,你沒有提供任何詳細說一下:例如,如果你的表已經包含您的示例中的數據,因爲它與第二行發生衝突此插入會失敗。 – 2010-10-30 19:13:52

+0

@OMG小馬什麼意思? – HELP 2010-10-30 19:14:52

+0

請詳細說明一下嗎?唯一鍵將確保插入的值始終是唯一的(不允許重複)。 – pavanred 2010-10-30 19:16:36

回答

1

您創建的唯一索引是一個有效索引。它會創建一個索引,允許pidaid中的重複值,但不允許任何對(pid, aid)的重複值。

INSERT INTO ab (pid, aid) VALUES (3, 2) 
+0

如果我有數字3爲pid和援助是有效的? – HELP 2010-10-30 19:19:47

+0

@sland:是的,這是有效的。 – 2010-10-30 19:20:20

+0

我可以同時在同一行上同時使用相同的值和pid來清除。 – HELP 2010-10-30 19:22:13