2010-10-30 76 views
1

我有一個表,其中包含用戶最喜歡的類別,我想知道我的MYSQL表結構是否正確構建,以保存MySQL數據提供正確?MySQL表結構問題

MySQL數據。

userID  catID 
4  21 
4  4 
4  67 
3  34 
3  4 

MySQL表。

CREATE TABLE ab (
userID INT UNSIGNED NOT NULL, 
catID INT UNSIGNED NOT NULL, 
PRIMARY KEY (userID), 
UNIQUE KEY (catID) 
); 

回答

1

userIDcatID本身都是獨特的。你想要的是

CREATE TABLE ab (
    userID INT UNSIGNED NOT NULL, 
    catID INT UNSIGNED NOT NULL, 
    PRIMARY KEY (userID, catID) 
); 

因此,只有userID和一起catID的特定組合都必須是唯一的。

0

不,catID不是唯一的,因爲有四個。

0

我不認爲你希望catID是唯一的,因爲你有多次。

1

不,它是不正確的:userId不是唯一的,也不是catID,這對(userID,cat ID)是。您可以添加第三列來充當主鍵,並且您將對(userId,catID)聲明爲唯一的,或者您甚至可以將這對情侶聲明爲主鍵。