开发者

N:M Relation Syntax Error in code

开发者 https://www.devze.com 2023-04-08 10:56 出处:网络
I have this SQL (for MySQL): create table apartmentcaretakers ( apartmentID int, caretakerID int, PRIMARY KEY (apartmentID, caretakerID),

I have this SQL (for MySQL):

create table apartmentcaretakers
(
apartmentID int,
caretakerID int,
PRIMARY KEY (apartmentID, caretakerID),
FOREIGN KEY (apartmentID) REFERENCES apartm开发者_开发问答ents(apartmentID),
FOREIGN KEY (caretakerID) REFERENCES caretakers(caretakerID)
)engine = innodb;

The error that I cat: SQL syntax error near 'references apartments(apartmentID), foreign key caretakerID references caretakers'

This is properly some minor mistake on my part, but could someone please point it out?

EDIT: After some coding and rerunning, the error is 1064. Which I can understand why it didn't really help, as it's a broad spectrum error.


Worked for me aswell.

Make sure your referenced tables also use the INNODB engine. Use the following query to check that: 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)
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号