【发布时间】:2013-11-29 14:32:28
【问题描述】:
想要插入多条具有相同主记录的记录。 我尝试插入具有相同主键的多条记录,但 sql 给出错误“重复主键”。 是否可以使用 id 或主键插入多行。?
【问题讨论】:
-
重复的主键是不合理的。主键必须是唯一的,否则它们不是主键。
想要插入多条具有相同主记录的记录。 我尝试插入具有相同主键的多条记录,但 sql 给出错误“重复主键”。 是否可以使用 id 或主键插入多行。?
【问题讨论】:
主键是唯一的
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
【讨论】:
主键的整个想法是为每一行提供一个唯一的标识符,所以你不能这样做。但是,如果您想要一种对行进行分组的方式,您可以向表中添加一个组列,或者为分组创建一个表。例如 group_members 并包含两列,“group_id”和“row_id”。
【讨论】:
主键的目的是它是唯一的,不能重复。
【讨论】:
【讨论】: