想要插入具有相同主要内容的多个记录。 我尝试插入具有相同主键的多个记录,但sql给出错误“重复主键”。 可以插入带有id或主键的多行。?
答案 0 :(得分:3)
主键的整个想法是为每一行都有一个唯一的标识符,所以你不能这样做。但是,如果您想要一种对行进行分组的方法,则可以向表中添加组列,也可以为分组创建表。例如group_members,它包含两列,“group_id”和“row_id”。
答案 1 :(得分:2)
主键旨在唯一
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
答案 2 :(得分:0)
主键的用途是它是唯一的,不能重复。
答案 3 :(得分:0)