2

3 つのテーブルを作成しようとしていますが、エラーが発生しています。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REFERENCES personal_details(personID)
)'

上記のエラーは、3 番目のテーブル、つまり table に対するものhobbies_personです。

次のようにテーブルを作成しています。

CREATE TABLE personal_details (
    personID   INT PRIMARY KEY,
    firstName  varchar(30),
    middleName varchar(30),
    lastName   varchar(30),
    age        INT,
    aboutMe    varchar(500)
);

CREATE TABLE hobbies (
    hobbID    INT PRIMARY KEY,
    hobbName  varchar(30)
);

CREATE TABLE hobbies_person (
    personID INT,
    hobbID   INT,
    PRIMARY KEY (personID, hobbID),
    FOREIGN KEY personID REFERENCES personal_details(personID)
);

私も試してみました

CREATE TABLE hobbies_person (
    personID INT,
    hobbID   INT,
    PRIMARY KEY (personID, hobbID),
    FOREIGN KEY personID REFERENCES personal_details(personID),
    FOREIGN KEY hobbID   REFERENCES hobbies(hobbID)
);

それでも同じエラー。

クエリを確認するためのリンク

これに取り組む方法はありますか?

ノート

テーブルでは、複合主キーを次のようhobbies_personに使用していますPRIMARY KEY (personID, hobbID),

4

2 に答える 2

4

personIDFK定義では、列を括弧で囲む必要があります。

CREATE TABLE hobbies_person (
    personID INT NOT NULL,
    hobbID   INT NOT NULL,
    PRIMARY KEY (personID, hobbID),
    FOREIGN KEY (personID) REFERENCES personal_details(personID)
);
于 2012-06-19T09:23:40.810 に答える
3

()外部キーの周りを忘れました

FOREIGN KEY (personID) REFERENCES personal_details(personID)
于 2012-06-19T09:24:12.780 に答える