mysql - Adding record to Table (foreign key constraint fails) -


i have problem adding records table (grupy, login(varchar 32, primary key, unique), grupa(varchar 10).

when try script:

alter table `grupy` engine = innodb;  alter table `grupy` add foreign key ( `login` ) references `issi`.`pracownicy` (`login`) on delete cascade;   insert `grupy` (`login`, `grupa`) values ('administrator', 'zalogowany'); 

i got error:

error code 1452, sql state 23000: cannot add or update child row: foreign key constraint fails (issi.grupy, constraint grupy_ibfk_1 foreign key (login) references pracownicy (login) on delete cascade) line 6, column 1

what did wrong?

i believe happens when existing value invalid -- i.e. not in table. can check invalid values enough:

select g.* grupy g not exists (select 1 issi.pracownicy p on p.login = g.login); 

if case, change existing values (say, null) , add constraint.


Comments