2013-11-29 4 views
-1

Хотите вставить несколько записей с одинаковыми первичными. Я пытаюсь вставить несколько записей с тем же самым первичным ключом, но sql дает ошибку «дублировать первичный ключ». можно вставить несколько строк с идентификатором или первичным ключом.?Вставьте несколько строк с одним и тем же первичным ключом в sql, используя php

+0

дублирующие первичные ключи являются нелогичным заключением. первичные ключи ДОЛЖНЫ быть уникальными, или они не являются первичными ключами. –

ответ

3

Вся идея первичного ключа должен иметь уникальный идентификатор для каждой строки, так что вы не можете сделать это. Однако, если вам нужен способ группировки строк, вы можете либо добавить столбец группы в свою таблицу, либо создать таблицу для группировки. Например, group_members и содержат два столбца: «group_id» и «row_id».

0

Первичные ключи должны быть уникальными, поэтому MySQL бросает вам эту ошибку.

Подробнее о первичном ключе

SQL primary key

+0

Я знаю, что первичный ключ уникален, но я хочу вставить несколько строк в один и тот же идентификатор. как это сделать? – Mohsin

+0

Куда вы хотите положить их в корзину? в другой таблице? вам просто нужны подпункты, связанные с этим основным идентификатором? – DannyG

+0

В той же таблице. да есть разные продукты, и каждый продукт имеет свое количество и вес. Я хочу вставить все agianst один id. – Mohsin

1

первичный ключ предназначен для уникальный

http://dev.mysql.com/doc/refman/5.5/en/optimizing-primary-keys.html

вы можете иметь составной первичный ключ:

CREATE TABLE track(
    album CHAR(10) NOT NULL, 
    dsk INTEGER NOT NULL, 
    posn INTEGER NOT NULL, 
    song VARCHAR(255), 
    PRIMARY KEY (album, dsk, posn) 
) 

Композитные уникальные ключи очень полезны, когда вы хотите предотвратить дублирование данных по нескольким полям базы данных в таблице.

http://www.alphadevx.com/a/382-Adding-a-composite-unique-key-to-an-existing-MySQL-table

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