今天在创建外键的时候出现以下错误
ERROR 1005 (HY000): Can't create table 'students.#sql-d99_3' (errno: 150)
格式:
ALTER TABLE student ADD FOREIGN KEY(CID) REFERENCES courses;
解决方法:
1、因为博主的student表和courses表的cid的类型不一样,
student:cid(int,unsigned,not null)
courses: cid(tinyint,unsigned,not null)
利用alter把两张表的cid字段类型都改成int就可以了
2、因为我写的语句有问题,应该这样写
ALTER TABLE student ADD FOREIGN KEY(CID) REFERENCES courses(CID);
感觉好奇怪,既然语句都没有写对,竟然报这样的错。。。。
3、提示存储引擎为MyISAM的表是没有办法创建外键的
ALTER TABLE student ENGINE=InnoDB