2010-10-30 2 views
1

Является ли подходящий способ использования UNIQUE KEY в моей таблице MySQL?MySQL - Правильный способ использования UNIQUE KEY?

Данные MySQL.

id pid aid 
1 2 3 
2 3 2 
3 3 4 

Таблица MySQL.

CREATE TABLE ab ( 
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
pid INT UNSIGNED NOT NULL DEFAULT 0, 
aid INT UNSIGNED NOT NULL DEFAULT 0, 
PRIMARY KEY (id), 
UNIQUE KEY (pid, aid) 
); 
+0

Это зависит от того, что вам нужно сделать, что вы не предоставили какие-либо деталей о , –

+0

@OMG Ponies, что вы имеете в виду? – HELP

+0

Продумайте пожалуйста? Уникальный ключ гарантирует, что введенные значения всегда уникальны (дубликатов не допускается). – pavanred

ответ

1

Уникальный индекс, который вы создали, является допустимым индексом. Он создает индекс, который позволяет дублировать значения в pid, а также в aid, но не позволяет дублировать любую пару (pid, aid). Например, эта вставка потерпит неудачу, если ваша таблица уже содержит данные из вашего примера, потому что он конфликтует со второй строкой:

INSERT INTO ab (pid, aid) VALUES (3, 2) 
+0

если у меня есть номер 3 для pid и help, это действительно так? – HELP

+0

@sland: Да, это действительно так. –

+0

Могу ли я иметь помощь и pid с одинаковыми значениями только один раз в одной строке, чтобы быть ясным. – HELP

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