我有代码 1451 的 mysql 错误。
无法删除或更新父行:外键约束失败 (
online_store_admin
.osa_admin_logs
, CONSTRAINTfk_admins_logs
FOREIGN KEY (aid
) REFERENCESosa_admins
(aid
))
这里的sql语句:
如果存在 osa_admins,则删除表; 如果不存在则创建表 osa_admins( 帮助 int unsigned not null auto_increment, uid varchar(50) 不为空, 通过 char(41) 不为空, erp_id int unsigned not null, last_login int 无符号不为空, is_block tinyint unsigned not null, 菜单 varchar(50) 不为空, is_login tinyint unsigned not null, ip_login char(15) 不为空, 使用 btree(aid) 约束 idx_osa_admins 主键 ); 插入 osa_admins 值 (NULL, 'root', 密码('6789'), '0', '0', '0', '*', '0', '127.000.000.001'), (NULL, 'ryu', 密码('6789'), '0', '0', '0', '*', '0', '127.000.000.001'); 如果存在 osa_admin_logs,则删除表; 如果不存在则创建表 osa_admin_logs( 盖子 bigint 无符号不为空, 帮助 int 无符号不为空, 日期 int 无符号不为空, 记录文本不为空, 使用 btree(lid) 约束 idx_osa_admin_logs 主键, 约束 fk_admins_logs 外键(辅助) 参考 osa_admins(aid) 完全匹配 在更新级联 在删除级联 ); 插入 osa_admin_logs 值 (NULL, '2', '0', 'some action here'), (NULL, '2', '0', '再次,这里有一些动作');
当我使用这个语句时问题来了:
从 osa_admins 中删除aid='2';
我想我已经设置了“删除级联”。有谁知道如何删除级联?所以我不需要手动删除 osa_admin_logs 数据。哦,我使用 innodb 作为数据库引擎(我拥有的默认 mysql)。
对不起,我问了同样的问题有答案,只是让我知道我在哪里可以得到我的问题。
谢谢你。