异常内容
ERROR 1062 (23000): Duplicate entry 'xxx-xxx-xxx' for key 'key_name_xxx'
报错原因
如果报错内容如上所示,那么是因为联合主键约束导致的,因为xxx-xxx-xxx内容为3个字段的拼接起来的值,请检查一下表的约束;
解决办法
-- 示例SQL
-- 查看表的所有约束
SHOW KEYS FROM folder;
-- 查看约束名为name_unique的主键
SHOW KEYS FROM folder WHERE KEY_NAME = 'name_unique';
-- 删除name_unique的约束
ALTER TABLE folder DROP INDEX name_unique;
-- 创建名为name_unique的联合唯一约束(4个字段联合唯一)
ALTER TABLE folder ADD UNIQUE KEY name_unique ( name, org_id, parent_id, rel_type );
当遇到ERROR1062错误,表示存在重复的联合主键值。此问题通常由于尝试插入已存在的数据引起。要解决这个问题,可以先使用SQL查询检查表的约束,然后删除特定约束,最后重新创建该唯一约束。示例步骤包括查看表的所有约束,定位到问题主键,删除并重新创建约束。
859

被折叠的 条评论
为什么被折叠?



