I have two tables: tab1,tab2
I want add a foreign key to tab2 and wrote this query
ALTER TABLE tab2
ADD FOREIGN KEY(name) REFERENCES tab1(name)
But I get this error:
error 1005(HY000):can't create table 'club.#sql-6f0_2' (errno:150)
What is wrong?
Edit
i write this tables only for test.
tab1
name char(20) private key
lname char(20)
tab2
ssn int private key
name char(20)
I answered this for you about an hour ago in a comment on your other question, but here it is again:
You can get details on that error by running SHOW ENGINE INNODB STATUS\\G
and reading the LATEST FOREIGN KEY ERROR
section.
The most likely reasons for this failure:
try this:
alter table tab2
add foreign key my_key(name) references tab1(name)
maybe Your key should have a name?
您不能在默认的MySQL存储引擎(ISAM,MyISAM)上定义外键,使用InnoDB作为引擎,然后添加外键约束。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.