mysql - 无法插入数据显示外键约束失败错误 1452

标签 mysql foreign-keys

这是我的表,我尝试插入数据,但它阻止在数据库中插入数据 这是我运行此查询时的插入查询,显示了类似的错误

#1452 - 无法添加或更新子行:外键约束失败 (godspeed.dev_phase_type,约束 dev_phase_type_ibfk_1 外键 (phase_id) 引用 dev_phase (id) ON DELETE CASCADE ON UPDATE CASCADE)

这是我的插入查询,当使用此查询数据时没有插入数据库 INSERT INTO dev_phase_type(abr, type) VALUES ('111eeee','ee')

--
-- Table structure for table `dev_phase_type`
--

CREATE TABLE `dev_phase_type` (
  `id` int(11) NOT NULL,
  `phase_id` int(11) NOT NULL,
  `abr` varchar(250) NOT NULL,
  `type` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `dev_phase_type`
--

INSERT INTO `dev_phase_type` (`id`, `phase_id`, `abr`, `type`) VALUES
(7, 1, 'F-P', 'Periodized'),
(8, 1, 'F-A', 'Ascending'),
(9, 2, 'G-P', 'Periodized'),
(10, 2, 'G-A', 'Ascending');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `dev_phase_type`
--
ALTER TABLE `dev_phase_type`
  ADD PRIMARY KEY (`id`),
  ADD KEY `phase_id` (`phase_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `dev_phase_type`
--
ALTER TABLE `dev_phase_type`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21;

--
-- Constraints for dumped tables
--

--
-- Constraints for table `dev_phase_type`
--
ALTER TABLE `dev_phase_type`
  ADD CONSTRAINT `dev_phase_type_ibfk_1` FOREIGN KEY (`phase_id`) REFERENCES `dev_phase` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
COMMIT;

最佳答案

无法定义外键,因为表中已有不符合外键的数据。

具体而言,表 dev_phase_typephase_id 列中具有值 12。这些值是否已经存在于引用的表 dev_phase 中?

我想不是。检查它们,并确保它们在添加外键之前有意义。

关于mysql - 无法插入数据显示外键约束失败错误 1452,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52876362/

相关文章:

MySQL:添加到计数大小写...然后

mysql - SQL : Conditional result used in the same conditional outputs

mysql - EF 不允许外键列值为 Null,尽管我将其设置为 Nullable

mysql - 如何在删除其中一个表的记录时保持两个表的数据一致?

php - 多线程单连接中的 PDO::lastInsertId() 安全吗?

mysql - Bash while 循环等待 mysql 导入

mysql - 为什么我的 Cassandra 数据库读取数据速度太慢?想要在 10 秒内读取 100,000 行

java - hibernate 。一张表中有多个外键

sql - 确保至少一个外键不为空

使用外键的 MySQL INSERT 语法