コード 1451 の mysql エラーが発生しました。
親行を削除または更新できません: 外部キー制約が失敗しました (
online_store_admin.osa_admin_logs, CONSTRAINTfk_admins_logsFOREIGN KEY (aid) REFERENCESosa_admins(aid))
ここでSQL文:
osa_admins; 存在する場合はテーブルをドロップします。
存在しない場合はテーブルを作成する osa_admins(
int unsigned not null auto_increment を支援します。
uid varchar(50) がヌルではありません。
null 以外の char(41) を渡します。
erp_id int unsigned not null,
last_login int unsigned not null,
is_block tinyint unsigned not null,
メニュー varchar(50) が null ではない、
is_login tinyint unsigned not null,
ip_login char(15) ヌルではない、
btree(aid) を使用した制約 idx_osa_admins 主キー
);
osa_admins 値に挿入
(NULL, 'ルート', パスワード('6789'), '0', '0', '0', '*', '0', '127.000.000.001'),
(NULL, 'ryu', password('6789'), '0', '0', '0', '*', '0', '127.000.000.001');
osa_admin_logs が存在する場合はテーブルをドロップします。
存在しない場合はテーブルを作成する osa_admin_logs(
ふた bigint unsigned not null,
int unsigned not null を支援します。
日付 int unsigned not null,
null でないテキストをログに記録し、
btree(lid) を使用した制約 idx_osa_admin_logs 主キー、
制約 fk_admins_logs 外部キー (補助)
参照 osa_admins(aid)
マッチフル
更新カスケードで
カスケード削除時
);
osa_admin_logs 値に挿入
(NULL, '2', '0', 'アクションがここにある'),
(NULL, '2', '0', '再び、ここでなんらかのアクション');
このステートメントを使用すると問題が発生します。
osa_admins where aid='2'; から削除します。
「カスケード削除」を設定したと思います。カスケードを削除する方法を知っている人はいますか? そのため、osa_admin_logs データを手動で削除する必要はありません。ああ、私はinnodbをdbエンジンとして使用しています(私が持っているデフォルトのmysql)。
申し訳ありませんが、回答があったのと同じ質問をします。質問を入手できる場所を教えてください。
ありがとうございました。