У меня ошибка mysql с кодом 1451.
Невозможно удалить или обновить родительскую строку: сбой ограничения внешнего ключа (online_store_admin
. osa_admin_logs
, CONSTRAINT fk_admins_logs
FOREIGN KEY (aid
)
здесь SQL заявление:
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');
Проблема возникает, когда я использую это утверждение:
удалить из osa_admins, где aid = '2';
Я думаю, что установил "Каскад удаления". кто-нибудь знает как удалить каскад? так что мне не нужно вручную определять данные osa_admin_logs. о, я использую innodb в качестве движка БД (MySQL по умолчанию, который у меня есть).
И извините, я задаю тот же вопрос, на который был дан ответ, просто дайте мне знать, где я могу получить свой вопрос.
Спасибо.