SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails

前端 未结 7 1238
天命终不由人
天命终不由人 2020-12-06 17:01

I am trying to insert values into my comments table and I am getting a error. Its saying that I can not add or update child row and I have no idea what that means. My schema

7条回答
  •  鱼传尺愫
    2020-12-06 17:21

    Another option could be thath your primary key in source table IS NOT unsigned, so I solved same insert with (notice id int(8) unsigned):

    CREATE TABLE IF NOT EXISTS user ( id int(8) unsigned NOT NULL AUTO_INCREMENT, username varchar(32) COLLATE utf8_bin NOT NULL,
    password varchar(64) COLLATE utf8_bin NOT NULL, password_real char(32) COLLATE utf8_bin NOT NULL, email varchar(32) COLLATE utf8_bin NOT NULL, code char(8) COLLATE utf8_bin NOT NULL,
    activated enum('0','1') COLLATE utf8_bin NOT NULL DEFAULT '0',
    activation_key char(32) COLLATE utf8_bin NOT NULL, reset_key varchar(32) COLLATE utf8_bin NOT NULL, name varchar(32) COLLATE utf8_bin NOT NULL, street varchar(32) COLLATE utf8_bin NOT NULL,
    house_number varchar(32) COLLATE utf8_bin NOT NULL,
    apartment_number varchar(32) COLLATE utf8_bin NOT NULL, city varchar(32) COLLATE utf8_bin NOT NULL, zip_code varchar(32) COLLATE utf8_bin NOT NULL, phone_number varchar(16) COLLATE utf8_bin NOT NULL, country int(8) NOT NULL, province int(8) NOT NULL, pesel varchar(32) COLLATE utf8_bin NOT NULL,
    register_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    authorised_time datetime NOT NULL, edit_time datetime NOT NULL, saldo decimal(9,2) NOT NULL, referer_id int(8) NOT NULL,
    level int(8) NOT NULL, PRIMARY KEY (id), KEY country (country), KEY province (province), KEY referer_id (referer_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=83 ;

提交回复
热议问题