mysql外键

david-foreststoe 2010-04-30 11:14:56
我用的是mysql6.0为什么一创建两个表这间用外键来连接时就说创建不了:can"nt create table ...
...全文
42 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
feixianxxx 2010-05-02
  • 打赏
  • 举报
回复
问题:mysql error Number 1005
can't creat table'\test\#sql-640_1.frm'(errno:150)

这个问题出现在给表加外键时。
它可能出现的情况是以下三种:
1、引用的键与原表中的数据类型不一致。
本人出错就是这个原因,原表中ID为int类型 ,但是加外键的那个表中是bigint类型。
2、找不到要被引用的列
就是找不到那个引用外键表中没有那个外键。

3、表的字符编码不一样
一般不会出现这个问题。

MySql中只有只有InnoDB类型支持外键,所以在建表的时候应该把表的类型设置成InnoDB类型的,如:
create table county (
countynumber integer not null auto_increment,
countyname varchar(32),
state varchar(32),
primary key(countynumber)
)type=innodb;
ACMAIN_CHM 2010-04-30
  • 打赏
  • 举报
回复
你的语句是什么?你的表是什么存储引擎? 如果是myisam 则不支持外键,你需要把表改为inndb
colerclub 2010-04-30
  • 打赏
  • 举报
回复
貼出SQL語句
如果SQL語句沒問題,那麼檢查一下表的建立順序,要先建主表,刪除的時候要最後刪除主表

56,679

社区成员

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

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