首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql外键解决思路

2012-03-18 
mysql外键我用的是mysql6.0为什么一创建两个表这间用外键来连接时就说创建不了:cannt create table ...[

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; 

热点排行