无法添加或更新子行:外键约束失败phpmyadmin

时间:2017-03-28 09:06:11

标签: mysql phpmyadmin

这是我的数据库

CREATE DATABASE IF NOT EXISTS `project` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `project`;

检查表

CREATE TABLE IF NOT EXISTS `checks` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `issue` varchar(10) NOT NULL,
  `content` varchar(100) NOT NULL,
  `contact` varchar(20) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `content` (`content`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

问题表

CREATE TABLE IF NOT EXISTS `issues` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `createtime` date NOT NULL,
  `title` varchar(20) NOT NULL,
  `text` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `text` (`text`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

我尝试插入的代码

ALTER TABLE  `checks` ADD CONSTRAINT  `context` FOREIGN KEY (  `content` ) REFERENCES  `project`.`issues` (

`text`
) ON DELETE RESTRICT ON UPDATE CASCADE ;

错误讯息:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`project`.`#sql-1d5c_130`, CONSTRAINT `context` FOREIGN KEY (`content`) REFERENCES `issues` (`text`) ON UPDATE CASCADE) 

任何人都可以帮忙???我已经看过关于这个主题的其他帖子,但没有运气。我在监督某事或知道该怎么做吗?

1 个答案:

答案 0 :(得分:0)

您需要先在`issues` .text` 列上创建一个索引。

确保两个表中都没有数据。如果有一些数据,那么请确保`checks` .content` 中的每个条目`issues` .text` 中存在相同的条目。