初めまして。
現在MySQLを勉強しているものです。
2つの表を主キーと外部キーを用いて連携させることを試みているのですがエラーになってしまいます。もし何か、気になる箇所などございましたらご教授いただけたら幸いです。
どうぞよろしくお願いいたします。
#実現したいこと
下記2つの表を「店舗名」を介して連携させたい。
MySQL
1CREATE TABLE table2.checker 2( 3 No INT NOT NULL, 4 店舗名 TEXT, 5 日時 TEXT, 6 担当者 TEXT, 7 お客様ポイント INT, 8 支払方法 TEXT, 9 CONSTRAINT PRIMARY KEY (No) 10); 11
MySQL
1CREATE TABLE table2.sale 2( 3 店舗名 VARCHAR(14), 4 住所 VARCHAR(30), 5 TEL VARCHAR(13), 6 7 CONSTRAINT PRIMARY KEY (店舗名) 8); 9
上記2つの表を
ALTER TABLE checker ADD FOREIGN KEY(店舗名) REFERENCES sale(店舗名);
を用いて連携させようとしたのですがエラーが発生してしまいます。
エラーメッセージは以下の通りです。
Cannot add foreign key constraint
参考にした記事:https://www.sejuku.net/blog/54072#i-6
#エラーメッセージ
FOREIGN KEY(?X???) REFERENCES checker(?X???):
Cannot find an index in the referenced table where the
referenced columns appear as the first columns, or column types
in the table and the referenced table do not match for constraint.
Note that the internal storage type of ENUM and SET changed in
tables created with >= InnoDB-4.1.12, and such columns in old tables
cannot be referenced by such columns in new tables.
Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-foreign-key-constraints.html for correct foreign key definition.
checkerにある「店舗名」をsaleにある「店舗名」の外部キーとし連携させようとしています。
もし何か、気になる箇所などございましたらご教授いただけたら幸いです。どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー