0
私は、MySQLがテーブル内に複数の外部キーを持つことをサポートしていることを知っています。 Error Code: 1215. Cannot add foreign key constraint
複数の外部キーを持つテーブルのSQLクエリ?
CREATE TABLE IF NOT EXISTS ActivelyCore.Locations (
idLocation INTEGER NOT NULL AUTO_INCREMENT,
CONSTRAINT idLocation_Uniq UNIQUE (idLocation),
CONSTRAINT idLocation_Pk PRIMARY KEY (idLocation),
idOrganization INTEGER NOT NULL,
INDEX (idOrganization),
CONSTRAINT Locations_Fk_idOrganization FOREIGN KEY (idOrganization)
REFERENCES ActivelyCore.Organizations (idOrganization),
idAddress INTEGER NOT NULL,
INDEX (idAddress),
CONSTRAINT Locations_Fk_idAddress FOREIGN KEY (idAddress)
REFERENCES ActivelyCore.Address (idAddress),
name VARCHAR(250) NOT NULL,
telephone VARCHAR(15),
email VARCHAR(200),
website VARCHAR(200),
hours VARCHAR(1000),
tags VARCHAR(1000)
);
クエリに間違っているかもしれないもの上の任意のアイデアを:エラーが生じている。この表作成の問題に実行していますか?
参照されるテーブルは存在していますか? –
http://stackoverflow.com/questions/17691282/error-code-1215-cannot-add-foreign-key-constraint-foreign-keys – blur0224
まず、列定義レベルで制約とインデックスを追加することは非常に悪い習慣です。読むのはとても難しいです。第2に、制約が参照するテーブルが既に存在していなければなりません。したがって、複数の表をアルファベット順に作成する場合、ActivelyCore.Organizations表はまだ存在しません。このような理由から、すべてのテーブルを作成してスクリプトの最後に制約を追加することをお勧めします。これに対する例外は主キーの追加です。 –