Mysql 代码中的N:M关系语法错误

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 ( ->

我有以下SQL(用于MySQL):

我遇到的错误是: “引用公寓(apartmentID),外键托管引用托管者”附近的SQL语法错误

这是我的一个小错误,但有人能指出吗

编辑:经过一些编码和重新运行后,错误为1064。我能理解为什么它没有真正的帮助,因为这是一个广谱错误。

对我也很有效

确保引用的表也使用INNODB引擎。使用以下查询检查:
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)