Цитата(lnick @ 3.10.2008, 11:10 ) | | Если ты вводишь в главную таблицу данные, которые нет в подчиненной, он проглотит и даже не выведет ошибки. |
если под подчиненный понимается таблица, которая имеет внешний ключ на главную, то все правильно: если добавляешь покупателя(пример), то он не обязан(да, и не может) уже иметь имеющиеся заказы. если же под подчиненной понимается таблица, на которую ссылаются и смысл фразы в том, что mysql не реализует проверку ссылочной целостности при вставке, то попробуй сделать следующее:
| Код | create table source( id int auto_increment primary key, `name` varchar(32) ) engine = innodb;
create table target( id int auto_increment primary key, source_id int, `name` varchar(32), FOREIGN KEY (source_id) REFERENCES source(id) ON DELETE CASCADE
) engine = innodb;
insert into target(source_id, `name`) values(11, 'ffff');
|
лично я под управление сервера версией 5.1 получаю
| Цитата | Error Code : 1216 Cannot add or update a child row: a foreign key constraint fails
|
хочу отдельно отметить, что обе связанные таблицы должны иметь тип innoDB |