我正在使用MariaDB,数据库模式如下:
我已经创建了这些表:
但是,创建表时我没有定义外键。但是我正在尝试使用alter
操作命令在两个表之间进行如下引用:
ALTER TABLE member ADD FOREIGN KEY (uid) REFERENCES follow(uid);
ALTER TABLE member ADD FOREIGN KEY (uid) REFERENCES follow (following_uid);
ALTER TABLE member ADD FOREIGN KEY (uid) REFERENCES feed (uid);
第一个成功。但是其他的,我得到这个错误:
Can't create table `SimpleSNS`.`#sql-6b94_5f` (errno: 150 "Foreign key constraint is incorrectly formed")
我检查了InnoDB
以及column数据类型及其原型,例如default或not null等。但是,它不起作用。
这是什么问题?
答案 0 :(得分:0)
在执行前在“ follow(following_uid)”上创建索引-> ALTER TABLE成员ADD FOREIGN KEY(uid)参考(following_uid);