MySql 不能创建外键问题
本人最近遇到一个无法建立外键的问题,百思不得其解,特向大侠们求教。先谢谢了。问题描述如下:
我在数据库中准备建立如下2个表:
create table (
lngUid bigint unsigned NOT NULL auto_increment,
strUserName varchar(128) UNIQUE NOT NULL,
PRIMARY KEY (lngUid)
)type=innodb;
create table tbUserInfo(
lngUid bigint,
strPassword varchar(32),
index(lngUid), // 无论是否建立索引,均返回同样错误。
FOREIGN KEY(lngUid) REFERENCES tbusers(lngUid) on delete cascade
)type=innodb;
结果:表一(tbUsers)成功建立了,但在创建表二的时候,mysql返回: #1005 - Can't create table '.\test\tbuserinfo.frm' (errno: 150)
my.ini 如下:
[mysqld]
basedir=D:\VertrigoServ\Mysql\
datadir=D:\VertrigoServ\Mysql\data\
port = 3306
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 32
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
innodb_data_file_path = ibdata1:100M:autoextend \\无论是否加上这个参数,效果一样。
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[WinMySQLadmin]
Server=D:\VertrigoServ\Mysql\bin\mysqld.exe
回复: MySql 不能创建外键问题
這個問題我已經解決了。回复: MySql 不能创建外键问题
朋友,晒晒你的心得,学习学习!回复: MySql 不能创建外键问题
[quote]朋友,晒晒你的心得,学习学习![/quote]這個問題,是我沒有注意到2個表之間關聯字段的類型不同。
表1是:lngUid bigint unsigned
表2是:lngUid bigint
页:
[1]