0
我們無法運行下面的查詢。我們有另一個名爲「person」的表,它有一個主鍵person_id。正如你所看到的,我們試圖把這個列作爲我們的(客戶表)的外鍵。 phpMyAdmin返回#1064語法錯誤。這裏有什麼問題?Innodb不接受外鍵
CREATE TABLE IF NOT EXISTS `resort`.`customers` (
`person_id` VARCHAR(45) NOT NULL ,
`cid` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
UNIQUE INDEX `person_id_UNIQUE` (`cid` ASC) ,
PRIMARY KEY (`person_id`) ,
UNIQUE INDEX `person_id_UNIQUE` (`person_id` ASC) ,
CONSTRAINT `person_id`
FOREIGN KEY()
REFERENCES `resort`.`person`()
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB
順便說一句,這個查詢是由Oracle的MySQL Workbench生成的。
現在它說: 「#1061 - 重複鍵名 'person_id_UNIQUE'」 – gzg
吉茲,只是看看你的SQL。這是因爲您有兩個名稱相同的UNIQUE定義:'UNIQUE INDEX person_id_UNIQUE(cid ASC)'和'UNIQUE INDEX person_id_UNIQUE(person_id ASC)'。 'UNIQUE INDEX'後面的部分是索引的名稱。 –