这是我的表,我尝试插入数据,但它阻止在数据库中插入数据 这是我在运行此查询时显示错误时的插入查询
#1452 - 无法添加或更新子行:外键约束失败 (godspeed
.dev_phase_type
、约束dev_phase_type_ibfk_1
外键 (phase_id
(引用dev_phase
(id
( 在更新级联上删除级联(
这是我使用此查询数据未插入数据库时的插入查询 插入dev_phase_type
(abr
,type
( 值 ('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_type
的列phase_id
中具有值1
和2
的值。这些值是否已经存在于引用的表dev_phase
中?
我猜不是。检查它们,并确保它们在添加外键之前有意义。