这是我的数据库
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)
任何人都可以帮忙???我已经看过关于这个主题的其他帖子,但没有运气。我在监督某事或知道该怎么做吗?
答案 0 :(得分:0)
您需要先在`issues` .text` 列上创建一个索引。
确保两个表中都没有数据。如果有一些数据,那么请确保`checks` .content` 中的每个条目`issues` .text` 中存在相同的条目。