2
我設置了一些外鍵,但是phpMyAdmin不允許我創建多個外鍵。下面是表中的問題:無法創建外鍵id MySQL:列上缺少索引
Groups Table
id
name
address
Tasks Table
id
group_id
name
我需要Tasks Table
上group_id
外鍵,但是當我嘗試它來創建提供了以下錯誤:Missing index on column(s)
。如果我在group_id
上添加一個唯一的約束條件,那麼我可以創建外鍵,但該關係會變成One to One
,這不是預期的結果。
以下是表創建語句:
CREATE TABLE IF NOT EXISTS `groups` (
`id` int(11) NOT NULL,
`name` varchar(256) NOT NULL,
`address` varchar(256) NOT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
ALTER TABLE `groups`
ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `id` (`id`), ADD UNIQUE KEY `id_2` (`id`);
CREATE TABLE IF NOT EXISTS `tasks` (
`id` int(11) NOT NULL,
`group_id` int(11) NOT NULL,
`name` varchar(256) NOT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
ALTER TABLE `fixed_tasks`
ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `id` (`id`);
任何幫助或指導是非常讚賞。
顯示爲外鍵 – Jens
表創建statment和CREATE語句因此,創建一個非唯一索引呢? – eggyal
我剛剛更新了表創建語句的問題。我總是在phpMyAdmin中使用設計器視圖來創建關係,所以我沒有針對外鍵的聲明。 – WpDoe