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)
);
當我試圖在prop_key
property_value
和property_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 Reference Manual,但我已經滿足所有的需求療法即我如何緩解這個問題?
4000個字符主鍵?讓人驚訝。 – 2012-08-14 23:26:40