mysql建表出现Error Code : 1005;Can't create table 'table' (errno: 121)

来源:互联网 发布:java 的io重要吗 编辑:程序博客网 时间:2024/06/05 07:47
今天创建角色权限表时遇到的错误:
Query : alter table role_function    add constraint FK_ROLE_FUN_REFERENCE_AUTH_ROL foreign key (role_id)       references auth_role (id)Error Code : 1005Can't create table 'zhongxi.#sql-740_1b' (errno: 121)Execution Time : 00:00:00:000Transfer Time  : 00:00:00:000Total Time     : 00:00:00:000

121错误是因为外键名重复~外键和表一样,在同一个库中是不允许与其他外键重名的。 
(1)遇到这个错误请给你定义的外键换唯一无重复的名字;

(2)或者是这个外键已经和表的主键关联了;

(3)另外还有一种可能就是关联字段在引用表中没有建立索引,你必须在引用表中为关联字段创建一个索引。

同时查阅到外键也有可能导致150错误
Can't create table (errno: 150) 
这个错误是由于主表和引用表的外键关联字段定义不一致引发的。 
检查两个表的关联字段是否类型编码完全一致。 

阅读全文
0 0