Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не удаляются записи по внешнему ключу
 
 автор: asked86   (15.05.2008 в 09:33)   письмо автору
 
 

Help !!! я сздаю две таблицы `cat` и `prod` в табл `prod` создаю внешний ключ на табл `cat` при удалении с `cat` записи не удаляются!

create table `catalog` (
`id_catalog` int(11) not null primary key auto_increment,
`name` tinytext not null)Engine=InnoDB default character set utf8 collate utf8_unicode_ci;

create table `products` (
`id_product` int(11) not null,
`name` tinytext notnulll,
`id_catalog` int(11) not null,
primary key(`id_product`),
Foreign Key (id_catalog`) referances `catalog` (`id_catalog`)
on DELETE CASECADE
on UPDATE CASCADE
)
Engine=INNODB default character set utf8 collate utf8_unicode_ci;

версия mysql чето 5.0.1 чтоллли

Блин удаляю записи из главной таблицы с индексом т.е `catalog` а с табл `products` они не очищаются в чем дело помогите в книге вроде так написано (в книге автором форума)!!

   
 
 автор: cheops   (15.05.2008 в 11:41)   письмо автору
 
   для: asked86   (15.05.2008 в 09:33)
 

Хм... странно, создал дамп (немного исправив таблицу products)
REATE TABLE catalog (
  id_catalog int(11) NOT NULL auto_increment,
  `name` tinytext collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (id_catalog)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO catalog VALUES(1, '23');
INSERT INTO catalog VALUES(2, '23');

CREATE TABLE products (
  id_product int(11) NOT NULL,
  `name` tinytext collate utf8_unicode_ci NOT NULL,
  id_catalog int(11) NOT NULL,
  PRIMARY KEY  (id_product),
  FOREIGN KEY (id_catalog) 
  REFERENCES `catalog` (`id_catalog`)
  on DELETE CASCADE
  on UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO products VALUES(1, 'йцукен', 1);
INSERT INTO products VALUES(2, 'уцкуцк', 1);

У меня каскадное удаление работает.

>версия mysql чето 5.0.1 чтоллли
Выполните запрос
SELECT VERSION();

Какая точно версия используется?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования