我有一个表,其中包含用户喜欢的类别,我想知道我的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)
);
答案 0 :(得分:1)
不,它不正确:userId不是唯一的,也不是catID,这对(userID,cat ID)是。您可以添加第三列作为主键,并将该对(userId,catID)声明为唯一,或者您甚至可以将其声明为主键。
答案 1 :(得分:1)
userID
和catID
本身都不是唯一的。你想要的是
CREATE TABLE ab (
userID INT UNSIGNED NOT NULL,
catID INT UNSIGNED NOT NULL,
PRIMARY KEY (userID, catID)
);
因此,只有userID
和catID
的特定组合必须是唯一的。
答案 2 :(得分:0)
不,catID不是唯一的,因为有两个四肢。
答案 3 :(得分:0)
我认为你不希望catID是唯一的,因为你多次使用它。