1 対多の関係を持つ 2 つのテーブルを作成しようとしています。両方のスキーマを次に示します。
CREATE TABLE property_key (
id INTEGER AUTO_INCREMENT PRIMARY KEY,
property VARCHAR(4000)
);
CREATE TABLE property_value (
id INTEGER AUTO_INCREMENT PRIMARY KEY,
prop_key VARCHAR(4000),
prop_value VARCHAR(4000),
lang VARCHAR(2),
INDEX ix_land(lang)
);
property_value
とproperty_key
onの間に外部キー関係を追加しようとするとprop_key
、奇妙なエラーが発生します。
[ALTER - 0 row(s), 0.000 secs] [Error Code: 1005, SQL State: HY000] Can't create table 'test.#sql-a8_6' (errno: 150)
私が使用している ALTER 構文は次のとおりです。
ALTER TABLE property_value ADD CONSTRAINT fk_prop_key FOREIGN KEY (prop_key) REFERENCES property_key(property);
この件についてMySQL リファレンス マニュアルを参照しましたが、そこにあるすべての要件を満たしています。この問題を軽減するにはどうすればよいですか?