日期:2014-05-16  浏览次数:20699 次

mysql外键
我用的是mysql6.0为什么一创建两个表这间用外键来连接时就说创建不了:can"nt create table ...

------解决方案--------------------
你的语句是什么?你的表是什么存储引擎? 如果是myisam 则不支持外键,你需要把表改为inndb
------解决方案--------------------
貼出SQL語句
如果SQL語句沒問題,那麼檢查一下表的建立順序,要先建主表,刪除的時候要最後刪除主表
------解决方案--------------------
问题: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;