简体   繁体   English

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

[英]Cannot add or update a child row: a foreign key constraint fails

These are the create statement for the two tables that i am facing the issue with: First Table: 这些是我面临问题的两个表的create语句:第一个表:

 CREATE TABLE `hrm__companyteam` (
 `id_team` int(11) NOT NULL AUTO_INCREMENT,
 `id_department` int(11) NOT NULL,
 `team_name` varchar(255) NOT NULL DEFAULT '',
 `notes` mediumtext NOT NULL,
 PRIMARY KEY (`id_team`),
 KEY `id_company` (`id_department`),
 CONSTRAINT `hrm__companyTeam_ibfk_1` FOREIGN KEY (`id_department`) REFERENCES `hrm__companydepartment` (`id_department`) ON DELETE CASCADE,
 CONSTRAINT `hrm__companyteam_ibfk_1` FOREIGN KEY (`id_department`) REFERENCES `hrm__companydepartment` (`id_department`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

Second Table 第二表

CREATE TABLE `hrm__companyjobtitle` (
 `id_job_title` int(11) NOT NULL AUTO_INCREMENT,
 `id_team` int(11) NOT NULL DEFAULT '0',
 `job_title_name` varchar(255) NOT NULL DEFAULT '',
 `notes` mediumtext NOT NULL,
 PRIMARY KEY (`id_job_title`),
 KEY `id_division` (`id_team`),
 CONSTRAINT `hrm__companyJobTitle_ibfk_1` FOREIGN KEY (`id_team`) REFERENCES `hrm__companyteam` (`id_team`) ON DELETE CASCADE,
 CONSTRAINT `hrm__companyjobtitle_ibfk_1` FOREIGN KEY (`id_team`) REFERENCES `hrm__companyteam` (`id_team`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

When i try to execute the following query: 当我尝试执行以下查询时:

INSERT INTO `hr_db`.`hrm__companyjobtitle` (

`id_job_title` ,
`id_team` ,
`job_title_name` ,
`notes`
)
VALUES (
'1',  '1',  'IT',  ''
)

I get this error: 我收到此错误:

1452 - Cannot add or update a child row: a foreign key constraint fails ( hr_db . hrm__companyjobtitle , CONSTRAINT hrm__companyJobTitle_ibfk_1 FOREIGN KEY ( id_team ) REFERENCES hrm__companyteam ( id_team ) ON DELETE CASCADE) hr_db无法添加或更新子行:外键约束失败( hrm__companyjobtitle ,CONSTRAINT hrm__companyJobTitle_ibfk_1键( id_team )参考hrm__companyteamid_team )删除id_team

Please help... What am i doing wrong. 请帮助...我在做什么错。 Also please let me know if you need any further details. 另外,如果您需要任何其他详细信息,请告诉我。

I used these statements : 我使用了以下语句:

CREATE TABLE `hrm__companyteam` (
    `id_team` INT(11) NOT NULL AUTO_INCREMENT,
    `id_department` INT(11) NOT NULL,
    `team_name` VARCHAR(255) NOT NULL DEFAULT '',
    `notes` MEDIUMTEXT NOT NULL,
    PRIMARY KEY (`id_team`),
    INDEX `id_company` (`id_department`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=4;


CREATE TABLE `hrm__companyjobtitle` (
    `id_job_title` INT(11) NOT NULL AUTO_INCREMENT,
    `id_team` INT(11) NOT NULL DEFAULT '0',
    `job_title_name` VARCHAR(255) NOT NULL DEFAULT '',
    `notes` MEDIUMTEXT NOT NULL,
    PRIMARY KEY (`id_job_title`),
    INDEX `id_division` (`id_team`),
    CONSTRAINT `hrm__companyJobTitle_ibfk_1` FOREIGN KEY (`id_team`) REFERENCES `hrm__companyteam` (`id_team`) ON DELETE CASCADE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=4;


INSERT INTO hrm__companyteam (id_team, id_department, team_name, notes) VALUES (1, 1, 'Sales', ''), (2, 2, 'Team no 1', '');

INSERT INTO hrm__companyjobtitle (id_job_title , id_team , job_title_name , notes ) VALUES ( '1', '1', 'IT', '' );

AND ALL of them ran successfully without any error 他们全部成功运行,没有任何错误

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM