2010-10-30 3 views
1

У меня есть таблица, в которой хранятся любимые категории пользователей, и мне было интересно, правильно ли построена структура таблиц My MYQL, чтобы правильно хранить данные 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

Ни один из userID или catID не являются самостоятельными. Что вы хотите

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, catID) уникальным, или вы можете даже объявить эту пару в качестве первичного ключа.

Смежные вопросы