2015-02-06 5 views
1

Как создать составной первичный ключ в mySQL. В таблице 1 мне нужно установить id1, id2 как составной первичный ключ. Я использовал этот запрос. Но он делает их первичными. он проверяет дубликаты каждой записиMySQL Уникальная уникальность первичного ключа

ALTER TABLE `table1` 
    DROP PRIMARY KEY, 
    ADD PRIMARY KEY(
    `id1`, 
    `id2`); 

Когда я вставить две строки

insert "a","b" 
insert "a","c" 

1062 - Дублировать запись '1408181771009' для ключевых 'pk_sentiments'

Но

insert "a","c" 
insert "b","c" 

отлично работает. Я не мог понять этого поведения. Как это решить?

+0

вы предполагая («а», «б») вставляется как (ID1, ID2), но это не так, потому что ошибка сообщает различные значения. Какова структура вашей таблицы? – koriander

+0

это всего лишь две строки. в моем случае id1-id2 должен быть первичным ключом, но когда я вставляю один и тот же id1, но другой id2, он показывает эту ошибку. – Burusothman

+0

Ваш оператор 'alter' создает композитный ключ. – Jens

ответ

0

Может быть, это:

ALTER TABLE `table1` ADD UNIQUE KEY `id1_id2` (`id1`, `id2`); 
Смежные вопросы