Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法创建外键id MySQL:列上缺少索引_Mysql_Phpmyadmin - Fatal编程技术网

无法创建外键id MySQL:列上缺少索引

无法创建外键id MySQL:列上缺少索引,mysql,phpmyadmin,Mysql,Phpmyadmin,我设置了一些外键,但是phpMyAdmin不允许我再创建一个。以下是有关表格: Groups Table id name address Tasks Table id group_id name 我需要任务表中的组id上的外键,但当我尝试在其中创建时,会出现以下错误:列上缺少索引。如果我在组id上添加一个唯一约束,我就可以创建外键,但是关系会变成一对一,这不是预期的结果 以下是表create语句: CREATE TABLE IF NOT EXISTS `groups` ( `id`

我设置了一些外键,但是phpMyAdmin不允许我再创建一个。以下是有关表格:

Groups Table

id
name
address


Tasks Table

id
group_id
name
我需要
任务表
中的
组id
上的外键,但当我尝试在其中创建时,会出现以下错误:
列上缺少索引
。如果我在
组id
上添加一个唯一约束,我就可以创建外键,但是关系会变成
一对一
,这不是预期的结果

以下是表create语句:

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`);

非常感谢您的帮助或指导。

以下代码可以创建两个具有相对外键的表:

CREATE TABLE `Groups` (
  `id` INT NOT NULL,
  `name` VARCHAR(45) NULL,
  `address` VARCHAR(45) NULL,
  PRIMARY KEY (`id`)
);


CREATE TABLE `Tasks` (
  `id` INT NOT NULL,
  `group_id` INT NULL,
  `name` VARCHAR(45) NULL,
  PRIMARY KEY (`id`),
  CONSTRAINT `group_id`
    FOREIGN KEY (`group_id`)
    REFERENCES `Groups` (`id`)
);

显示表create语句和外键的create语句以创建非唯一索引?我刚刚用表create语句更新了这个问题。我总是在phpMyAdmin中使用designer视图来创建关系,所以我没有外键语句。