【发布时间】:2023-04-06 14:10:01
【问题描述】:
如何在 mySQL 中制作复合主键。在表 1 中,我需要将 id1、id2 设置为复合主键。我使用了这个查询。但它使每个都成为主键。它检查每个条目的重复项
ALTER TABLE `table1`
DROP PRIMARY KEY,
ADD PRIMARY KEY(
`id1`,
`id2`);
当我插入两行时
insert "a","b"
insert "a","c"
1062 - 键“pk_sentiments”的重复条目“1408181771009”
但是
insert "a","c"
insert "b","c"
工作正常。我无法理解这种行为。如何解决?
【问题讨论】:
-
您假设 ("a", "b") 被插入为 (id1, id2),但事实并非如此,因为错误报告的值不同。你的表结构是什么?
-
它只是两个字符串。在我的情况下 id1-id2 需要是主键,但是当我插入相同的 id1 但不同的 id2 时,它会显示此错误
-
您的
alter语句创建了一个复合键。 -
这个“pk_sentiments”是什么,我在那个名字中没有任何外键关系。
-
为什么唯一键不适合你?