1452 Cannot add or update a child row: a foreign key constraint fails (mydb
.user_has_project
, CONSTRAINT fk_user_has_project_project1
FOREIGN KEY (project_id
) REFERENCES project
(id
) ON DELETE CASCADE ON UPDATE CASCADE). The SQL statement executed was: INSERT INTO user_has_project
(project_id
, user_id
) VALUES (:yp0, :yp1)
$userhasProject = new UserHasProject;
$userhasProject->project_id = $id;
$userhasProject->user_id = $user_id;
if (!$userhasProject->save()) print_r ($project->getErrors());
I have both IDs saved in the DB. That is $id (project id) and $user_id. All IDs are int(11).
I’m generating the table from MySQL workbench:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=‘TRADITIONAL’;
CREATE SCHEMA IF NOT EXISTS mydb
DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE mydb
;
– Table mydb
.user_has_project
CREATE TABLE IF NOT EXISTS mydb
.user_has_project
(
user_id
INT NOT NULL ,
project_id
INT NOT NULL ,
newtitle_id
INT NULL ,
note_id
INT NULL ,
INDEX fk_user_has_project_project1
(project_id
ASC) ,
INDEX fk_user_has_project_user1
(user_id
ASC) ,
INDEX fk_user_has_project_newtitle1
(newtitle_id
ASC) ,
INDEX fk_user_has_project_note1
(note_id
ASC) ,
CONSTRAINT fk_user_has_project_user1
FOREIGN KEY (`user_id` )
REFERENCES `mydb`.`user` (`id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT,
CONSTRAINT fk_user_has_project_project1
FOREIGN KEY (`project_id` )
REFERENCES `mydb`.`project` (`id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT,
CONSTRAINT fk_user_has_project_newtitle1
FOREIGN KEY (`newtitle_id` )
REFERENCES `mydb`.`newtitle` (`id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT,
CONSTRAINT fk_user_has_project_note1
FOREIGN KEY (`note_id` )
REFERENCES `mydb`.`note` (`id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;