0
我有我想與外鍵約束MySQL的添加外鍵約束錯誤
連接出於某種原因,這兩個表,當我試圖做到這一點,它失敗,並說:#1215 - Cannot add foreign key constraint
這是我的第一個表:
CREATE TABLE `zmaneyhayom` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`zman_id` varchar(255) NOT NULL,
`tempHour` tinyint(1) NOT NULL,
`tempHourType` varchar(255) NOT NULL,
`tempHourNum` double NOT NULL,
`tempMinutes` tinyint(1) NOT NULL,
`tempMinutesType` varchar(255) NOT NULL,
`tempMinutesNum` double NOT NULL,
`regularMinutes` tinyint(1) NOT NULL,
`regularMinutesNum` double NOT NULL,
`equivalentMinutes` tinyint(1) NOT NULL,
`equivalentMinutesNum` double NOT NULL,
`degreesBelowHorizon` tinyint(1) NOT NULL,
`degreesBelowHorizonNum` double NOT NULL,
`beforeAfter` varchar(6) NOT NULL,
`riseSet` varchar(4) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `zman_id_2` (`zman_id`),
KEY `zman_id` (`zman_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
而這個表保存ID和姓名,並最終在此表中的ID是上表(zman_id列)名稱:
CREATE TABLE `zmaneyhayomlabels` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
這是我試圖以創建約束代碼:
ALTER TABLE `zmaneyhayom` ADD FOREIGN KEY ( `zman_id`) REFERENCES `luah_v2`.`zmaneyhayomlabels` (
`id`
) ON DELETE NO ACTION ON UPDATE NO ACTION ;
我不知道爲什麼它的失敗:/
我要的是,每當我去phpMyAdmin的和轉到第一個表格,而不是在zman_id
中輸入一些id我將有一個選擇框,我可以選擇一個名稱(存儲在第二個表格中),但它將存儲的值將是ID。
由於它的工作。當我需要選擇一個'zman_id'時,如何在'zmaneyhayom'上創建一個新記錄,我可以這樣做,我可以從'zmaneyhayomlabels'中選擇一個值而不是輸入值? – kfirba
不明白你的意思,但很高興你現在能夠正常工作:)。 –
我會盡力解釋我的自我。 'zmaneyhayom'有一個名爲'zman_id'的列。 'zmaneyhayomlabels'有一個名爲'id'的列,當我使用phpmyadmin將記錄添加到'zmaneyhayom'時,我需要選擇'zman_id'。現在,而不是輸入4,5,10等。我將有一個選擇框,我可以從中選擇價值。該值來自'zmaneyhayomlabels'表,並且與ID相關,因此如果我在'zmaneyhayomlabels'中有一個記錄:1-test,在選擇框中,我將能夠選擇'test',並且當我添加記錄,它會將'zman_id'值保存爲1(不是標籤名稱,而是id) – kfirba