我有代码 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) 不为空,
通过 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)。
对不起,我问了同样的问题有答案,只是让我知道我在哪里可以得到我的问题。
谢谢你。