2017-08-07 22 views
0

私はビルドしているこのサイトの2つのテーブルを持っています(ログインとリック)。ユーザーがお気に入りの刻印を保存できるようにしたいので、これはマッピングテーブルが必要だが機能していないことを意味します。これは外部キー制約なしで動作しますが、私は外部キー制約が必要です。私は研究をして、誰もが私のようにマッピングテーブルを作成するように言いますが、それは機能しません。 誰も私がなぜこれがうまくいかないのか教えてもらえますか?ありがとうございました。マッピング(結合)テーブルが外部キーを許可していませんか?

表:

CREATE TABLE `login` (
    `login_id` int(11) NOT NULL AUTO_INCREMENT, 
    `username` varchar(50) DEFAULT NULL, 
    `password` varchar(50) DEFAULT NULL, 
    `email` varchar(50) DEFAULT NULL, 
    PRIMARY KEY (`login_id`) 
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 

表ログイン:リックス

CREATE TABLE `licks` (
    `lick_id` int(11) NOT NULL AUTO_INCREMENT, 
    `lick_name` varchar(50) DEFAULT NULL, 
    `lick_category` varchar(20) DEFAULT NULL, 
    `lick_html_pg` varchar(50) DEFAULT NULL, 
    PRIMARY KEY (`lick_id`) 
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 

表のlogin_licks(ウォーキングない!)

CREATE TABLE login_lick (
    login_id INT NOT NULL, 
    lick_id INT NOT NULL, 
    PRIMARY KEY (login_id, lick_id), 
    FOREIGN KEY login_id REFERENCES login (login_id), 
    FOREIGN KEY lick_id REFERENCES licks (lick_id) 
); 

答えて

1

あなたが外部キー定義に括弧が欠落しています

CREATE TABLE login_lick (
    login_id INT NOT NULL, 
    lick_id INT NOT NULL, 
    PRIMARY KEY (login_id, lick_id), 
    FOREIGN KEY (login_id) REFERENCES login (login_id), 
    FOREIGN KEY (lick_id) REFERENCES licks (lick_id) 
); 

HereはSQL Fiddleです。

+0

ああ私は気まずいと感じる!それはあなたに感謝しました。それは私(10分)を許可するときに私はあなたに答えをあげる。ありがとうございました! – do734

関連する問題