2016-02-27 36 views
0

那麼,我有遞歸表的另一個問題。將值插入遞歸表中?

這是表的定義:

create table seguridad (
    cod_emple int(6) ZEROFILL NOT NULL, 
    cod_jefe int(6) ZEROFILL DEFAULT NULL, 
    TIP int(5) NOT NULL, 
    division_seguridad varchar(40) NOT NULL, 
    PRIMARY KEY (cod_emple), 
    INDEX (cod_jefe), 
    FOREIGN KEY (cod_jefe) REFERENCES seguridad (cod_emple) ON DELETE RESTRICT ON UPDATE CASCADE, 
    FOREIGN KEY (cod_emple) REFERENCES empleados (cod_emple) ON DELETE RESTRICT ON UPDATE CASCADE 
) ENGINE=INNODB; 

但是,當我嘗試插入這樣的:

insert into seguridad values (002237, 2213, 28465, 'VIGILANTE'); 

insert into empleados values (002889, NULL, 26675, 'GUARDIA CIVIL'); 

我得到第一個這樣的錯誤:

#1452. Cannot add or update a child row: a foreign key constraint fails (`prision_arenales`.`seguridad`, CONSTRAINT `seguridad_ibfk_1` FOREIGN KEY (`cod_jefe`) REFERENCES `seguridad` (`cod_emple`) ON UPDATE CASCADE) 

而且這第二:

#1136. Column count doesn't match value count at row 1 

我做錯了什麼?我從https://planet.mysql.com/entry/?id=599259

回答

1

做同樣的事情,第一是指seguridad (cod_emple)可是沒有包含在價值002237

級第二意味着empleados沒有5列