我正在尝试创建两个具有一对多关系的表。以下是它们的模式:
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 参考手册,但我已经满足了那里的所有要求。我该如何缓解这个问题?