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

时间:2018-10-18 14:30:20

标签: mysql foreign-keys

这是我的表,我尝试插入数据,但是无法在数据库中插入数据 这是我运行此查询时向我显示的错误

时的插入查询

#1452-无法添加或更新子行:外键约束失败 ({godspeeddev_phase_type,约束dev_phase_type_ibfk_1外键 ({phase_id)参考dev_phaseid)在更新级联上删除级联)

这是我的插入查询,当使用此查询数据未插入数据库时 插入dev_phase_typeabrtype)值('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;

1 个答案:

答案 0 :(得分:0)

由于表中已经存在不符合外键的数据,因此无法定义外键。

具体地说,表1的列2中有值phase_iddev_phase_type。这些值是否已在引用表dev_phase中存在?

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