这个是什么错误呢,设置外键时显示ERROR 1022: Can't write; duplicate key in table '#sql-434_2'

炒冰 2013-12-05 04:45:15
ERROR 1022: Can't write; duplicate key in table '#sql-434_2'

SQL Statement:

ALTER TABLE `onlineorderdb`.`tb_message`

ADD CONSTRAINT `user_id`

FOREIGN KEY (`user_id`)

REFERENCES `onlineorderdb`.`tb_user` (`user_id`)

ON DELETE NO ACTION

ON UPDATE NO ACTION



ERROR: Error when running failback script. Details follow.



ERROR 1046: No database selected

SQL Statement:


CREATE TABLE `tb_message` (

`id` int(11) NOT NULL,

`user_id` int(11) NOT NULL,

`subject` varchar(45) NOT NULL,

`content` varchar(200) DEFAULT NULL,

`mg_date` varchar(45) DEFAULT NULL,

PRIMARY KEY (`id`),

KEY `user_id_idx` (`user_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8


tb_user表

tb_message表
...全文
8864 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
泰 戈 尔 2016-08-07
  • 打赏
  • 举报
回复
找到原因了,是因为在同一个数据库中重读定义了外键,改个外键的名字即可。
泰 戈 尔 2016-08-07
  • 打赏
  • 举报
回复
同样遇到了这个问题,求高手解答
u012950035 2015-02-06
  • 打赏
  • 举报
回复
ERROR 1022: Can't write; duplicate key in table '#sql-434_2' 今天我也碰到了这个问题,发现是因为外键重名引起的!
睡enjoy 2013-12-26
  • 打赏
  • 举报
回复
睡enjoy 2013-12-26
  • 打赏
  • 举报
回复
我也有同样的问题,求高手解答
炒冰 2013-12-06
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
show index from `tb_message`
贴出以供分析。

ACMAIN_CHM 2013-12-05
  • 打赏
  • 举报
回复
show index from `tb_message` 贴出以供分析。

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧