Ich habe mysql Fehler mit Code 1451.mysql Fehler 1451
Kann nicht löschen oder eine übergeordnete Zeile aktualisieren: a. Fremdschlüssel fehlschlägt (
)online_store_admin
osa_admin_logs
, CONSTRAINTfk_admins_logs
FOREIGN KEY (aid
) LITERATURosa_admins
(aid
)
hier sQL-Anweisung:
drop table if exists osa_admins; create table if not exists osa_admins( aid int unsigned not null auto_increment, uid varchar(50) not null, pass char(41) not null, erp_id int unsigned not null, last_login int unsigned not null, is_block tinyint unsigned not null, menus varchar(50) not null, is_login tinyint unsigned not null, ip_login char(15) not null, constraint idx_osa_admins primary key using btree(aid) ); insert into osa_admins value (NULL, 'root', password('6789'), '0', '0', '0', '*', '0', '127.000.000.001'), (NULL, 'ryu', password('6789'), '0', '0', '0', '*', '0', '127.000.000.001'); drop table if exists osa_admin_logs; create table if not exists osa_admin_logs( lid bigint unsigned not null, aid int unsigned not null, dates int unsigned not null, logs text not null, constraint idx_osa_admin_logs primary key using btree(lid), constraint fk_admins_logs foreign key (aid) references osa_admins(aid) match full on update cascade on delete cascade ); insert into osa_admin_logs values (NULL, '2', '0', 'some action here'), (NULL, '2', '0', 'again, some action here');
Problem kommen, wenn ich diese Anweisung verwenden:
aus osa_admins streichen aid = '2';
ich glaube, ich hatte "on delete cascade" eingestellt. Kann jemand Kaskade löschen? also muss ich manuell nicht die Daten von osa_admin_logs lesen. Oh, ich benutze Innodb als Db-Engine (Standard-MySQL, die ich habe).
Und tut mir leid, ich stelle die gleiche Frage, die Antwort hatte, lassen Sie mich wissen, wo ich meine Frage bekommen kann.
Vielen Dank.
Danke. Es funktioniert. Tut mir leid, ich habe nicht gut gelesen. – crazymob