2013-08-24 108 views
1

我是MySQL的新手,我有兩列。我所需的表如下:正常條目的唯一條目?

Column 1 Column 2 
-------- -------- 
A   1 
A   2 
A   3 
A   4 
B   1 
B   2 
B   3 
B   4 

我面臨的問題,是對於具有在第1列一A的值的每一行,第2列必須是唯一的,如上面所看到的。但是,只要相應的列1的值與其他條目的值不同,就允許第2列中的重複項?

我真的很抱歉壞,措辭,我只是不知道如何問問題。

+0

你到底想幹什麼?刪除重複項?添加一個約束來防止重複?查詢不同的值? –

+0

@GordonLinoff我希望第2列是半獨一無二的?因此,第2列中A和第1列中的所有值都必須是唯一的,但如果第1列中包含B,它可以與其他B相同,但仍然是唯一的? –

回答

1

DDL command上添加多個列的唯一約束:

ALTER TABLE  `table_name` 
ADD UNIQUE INDEX (`column1`, `column2`); 
+0

我不希望兩個列都是唯一的,我希望A下的列2值是唯一的。我在我的問題中的表格是我想要的表格。 –

+0

@DraganMarjanovic此命令將使它們在一起而不是分開。 (A,1),(A,2),(B,1)'等等。但是你不能輸入兩次'(A,2)'(例如) – Itay

+0

Ah,Thank-你非常抱歉,我會嘗試爲其他用戶改進問題。 =) –

0

你必須定義Column1Column2既獨特:

alter table YOUR_TABLE add unique index(Column1, Column2);