|
|
|
| Народ я вот недавно задавал вам такой вопрос про внешние ключи я ее решил сейчас опять не работает!
Я создаю 2 таблицы одну `price` , а другую `tovar`
create table `price`(
`id_nomer` int(11) not null auto_increment,
`name` tinytext not null
`price` int(11) not null,
primary key(`id_price`))
Engine=InnoDB default character set utf8 collate utf8_unicode_ci;
create table `tovar` (
`id_tovar` int(11) not null auto_increment,
`name` tinytext not null,
`id_nomer` int(11) not null,
FOREIGN KEY(`id_price`) REFERENCES `price`(`id_price`)
on DELETE CASCADE)
Engine=InnoDB default character set utf8 collate utf8_unicode_ci;
Теперь добавляю данные в `price`:
insert into `price` values('1','Оптоволокно','1000');
insert into `price` values('2','UTP 5E','200');
Добавляю в `tovar`
insert into `tovar` values('1','Оптоволокно N1','1');
insert into `tovar` values('2','Оптоволокно N2','1');
insert into `tovar` values('3','UTP 5E N1','2');
insert into `tovar` values('4','UTP 5E N2','2');
Теперь код в скрипте удаляет запись с таблицы `price`
delete from `price` where `id_nomer`=1
по идее записи с Оптоволокном в таблице `tovar` то же должны удалиться !
Почему они остаются в этой таблице не понимаю! | |
|
|
|
|
|
|
|
для: asked86
(04.06.2008 в 10:22)
| | либо у тебя куча опечаток либо фиг знает, но
в таблице price автоинкремент id nomer, по идее ключ, но первичным объявлен id_price - такого поля вообще нет в таблице
в таблице tovar ссылка внешнего ключа идёт на столбец id_price - которого нет в таблице price
мне вообще не понятно как таблица с ценами может быть родительской, а таблица товаров дочерней? бред какой-то
как в тот раз решил проблему? | |
|
|
|
|
|
|
|
для: ronin80
(04.06.2008 в 10:51)
| | Да просто я второпя быстро заполнял чтобы выкинуть это на форум, но делая именно так как мне предлагают авторы этого форума в учебнике не получается, если есть возможность выкиньте сюда пожайлуста пример работающий. | |
|
|
|