Mysql 代码中的N:M关系语法错误
我有以下SQL(用于MySQL): 我遇到的错误是: “引用公寓(apartmentID),外键托管引用托管者”附近的SQL语法错误 这是我的一个小错误,但有人能指出吗 编辑:经过一些编码和重新运行后,错误为1064。我能理解为什么它没有真正的帮助,因为这是一个广谱错误。对我也很有效 确保引用的表也使用INNODB引擎。使用以下查询检查:Mysql 代码中的N:M关系语法错误,mysql,sql,syntax,Mysql,Sql,Syntax,我有以下SQL(用于MySQL): 我遇到的错误是: “引用公寓(apartmentID),外键托管引用托管者”附近的SQL语法错误 这是我的一个小错误,但有人能指出吗 编辑:经过一些编码和重新运行后,错误为1064。我能理解为什么它没有真正的帮助,因为这是一个广谱错误。对我也很有效 确保引用的表也使用INNODB引擎。使用以下查询检查:SHOW TABLE STATUS WHERE Name='xxx' mysql> CREATE TABLE apartments ( ->
SHOW TABLE STATUS WHERE Name='xxx'
mysql> CREATE TABLE apartments (
-> apartmentID int PRIMARY KEY NOT NULL) ENGINE = innodb;
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE TABLE caretakers (
-> caretakerID int PRIMARY KEY NOT NULL) ENGINE = innodb;
Query OK, 0 rows affected (0.02 sec)
mysql> CREATE TABLE apartmentcaretakers (
-> apartmentID int,
-> caretakerID int,
-> PRIMARY KEY (apartmentID, caretakerID),
-> FOREIGN KEY ac_fk_apartments_id (apartmentID) REFERENCES apartments (apartmentID),
-> FOREIGN KEY ac_fk_caretakers_id(caretakerID) REFERENCES caretakers (caretakerID)
-> ) ENGINE = innodb;
Query OK, 0 rows affected (0.02 sec)
嗯。那么你可以创建前两个表(“公寓”和“看门人”)?他们有INNODB引擎吗<代码>mysql>显示引擎是否正确列出InnoDB?现在猜猜看:)你能提供两个参考表的“DESC”输出吗?这个问题自己解决了,在我在无尽的脑电波中潜水后,发现有人偷了我的括号:)但是无论如何,谢谢你的帮助。。。
mysql> CREATE TABLE apartments (
-> apartmentID int PRIMARY KEY NOT NULL) ENGINE = innodb;
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE TABLE caretakers (
-> caretakerID int PRIMARY KEY NOT NULL) ENGINE = innodb;
Query OK, 0 rows affected (0.02 sec)
mysql> CREATE TABLE apartmentcaretakers (
-> apartmentID int,
-> caretakerID int,
-> PRIMARY KEY (apartmentID, caretakerID),
-> FOREIGN KEY ac_fk_apartments_id (apartmentID) REFERENCES apartments (apartmentID),
-> FOREIGN KEY ac_fk_caretakers_id(caretakerID) REFERENCES caretakers (caretakerID)
-> ) ENGINE = innodb;
Query OK, 0 rows affected (0.02 sec)