MySQL表结构问题

时间:2010-10-30 21:43:23

标签: 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)
);

4 个答案:

答案 0 :(得分:1)

不,它不正确:userId不是唯一的,也不是catID,这对(userID,cat ID)是。您可以添加第三列作为主键,并将该对(userId,catID)声明为唯一,或者您甚至可以将其声明为主键。

答案 1 :(得分:1)

userIDcatID本身都不是唯一的。你想要的是

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

因此,只有userIDcatID的特定组合必须是唯一的。

答案 2 :(得分:0)

不,catID不是唯一的,因为有两个四肢。

答案 3 :(得分:0)

我认为你不希望catID是唯一的,因为你多次使用它。