下面的查詢失敗,錯誤「錯誤的[表](檢查數據類型)創建外鍵」,「錯誤創建於城市外鍵(檢查數據類型)」:外鍵約束與失敗
ALTER TABLE `hotels` ADD FOREIGN KEY ( `city`)
REFERENCES `mydatabase`.`cities` (`id`)
ON DELETE CASCADE ON UPDATE CASCADE ;
基本上我想在city.id和hotels.city之間建立一個多對多的關係。
這裏有兩個表:
CREATE TABLE IF NOT EXISTS `cities` (
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `hotels` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`city` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `city` (`city`)
) ENGINE=InnoDB;
表中已經有數據嗎? – 2012-08-12 22:25:16
酒店是空的,City有一些行已經受到另一個餐桌(餐廳)的限制,這與我嘗試上述酒店的方式相同。它第一次工作,但我用手建立了查詢,而不使用phpMyAdmin。 – 2012-08-12 22:26:15
一個是'INT',另一個'BIGINT'。 – 2012-08-12 22:26:28