ERROR:duplicate key in table MYsql

本文讨论了在MySQL中使用SQLLog工具创建表时,如何正确设置外键以避免与现有表中的外键命名冲突,通过实例展示了具体操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CREATE TABLE IF NOT EXISTS `smsdb`.`IntSupervisor` (
   `int_supr_id` VARCHAR( 32 ) NOT NULL ,
   `cent_id` INT NOT NULL ,
   INDEX `fk_IntSupervisor_Person1_idx` ( `int_supr_id` ASC ) ,
   INDEX `fk_IntSupervisor_Center1_idx` ( `cent_id` ASC ) ,   PRIMARY KEY ( `int_supr_id` ) ,
   CONSTRAINT `fk_parent_id` FOREIGN KEY ( `int_supr_id` ) 
   REFERENCES `smsdb`.`Staff` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ,
   CONSTRAINT `fk_center_id` FOREIGN KEY ( `cent_id` )
   REFERENCES  `smsdb`.`Center` (`cent_id`
 ) ON DELETE CASCADE ON UPDATE RESTRICT
 ) ENGINE = InnoDB;
以上出现的问题与我的类似,

比如说你的t_msg这张表有一个外键user_id是t_user的id,而t_comment 也有一个外键user_id是t_user的id,你在用mysql的sqllog这个工具建立表的时候再设置外键(foreignkey) 的时候将user_id 改一下,不与t_msg设置外键时候用的的外键名称重复即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值