Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Foreign key по ДВУМ полям/индексам??? (HBiT) 22/03/2006 - 08:29:30
      Re: Foreign key по ДВУМ полям/индексам??? (HBiT) 22/03/2006 - 10:18:11
      Re: Foreign key по ДВУМ полям/индексам??? (Dinky) 22/03/2006 - 19:10:09

> Original message text:
> From: HBiT - 22/03/2006 - 08:29:30
> Subject:Foreign key по ДВУМ полям/индексам???
> -----------------
> У меня mysql Ver 12.20 Distrib 4.0.13, for pc-linux (i686)
> я создал пару таблиц innodb
>
> CREATE TABLE `managers` (
> `Id` int(11) NOT NULL auto_increment,
> `name` tinytext,
> `info` tinytext,
> `pass` varchar(22) default NULL,
> `valid` tinyint(1) default '0',
> PRIMARY KEY (`Id`),
> KEY `valid` (`valid`,`Id`)
> ) TYPE=InnoDB ROW_FORMAT=FIXED;
>
> CREATE TABLE `subscribes` (
> `Id` int(11) NOT NULL auto_increment,
> `Idman` int(11) default NULL,
> `name` tinytext,
> `valid` tinyint(1) default '0',
> PRIMARY KEY (`Id`),
> KEY `valid` (`valid`,`Idman`),
> CONSTRAINT `0_649` FOREIGN KEY (`valid`) REFERENCES `managers` (`valid`) ON DELETE SET NULL ON UPDATE CASCADE
> ) TYPE=InnoDB ROW_FORMAT=FIXED;
>
> Нужно чтобы при удалении в табл. managers обнулялись поля idman и valid в табл. subscribes, а при обнулении valid.managers обнулялось valid.subscribes
>
> Сейчас при обнулении valid.managers обнуляються все valid.subscribes, без учета idman, хотя в ключе valid оба поля...
> Пробовал делать разные внешние ключи, они работают но не так как мне нужно.
>
> Вообще такое возможно? а то мне понравились внешние ключи, но вот это
> сделать не могу...
>


From: HBiT - 22/03/2006 - 10:18:11
Subject:Foreign key по ДВУМ полям/индексам???
-----------------
CREATE TABLE `managers` (
`Id` int(11) NOT NULL auto_increment,
`name` tinytext,
`info` tinytext,
`pass` varchar(22) default NULL,
`valid` tinyint(1) default '0',
PRIMARY KEY (`Id`),
UNIQUE KEY `Id` (`Id`,`valid`)
) TYPE=InnoDB ROW_FORMAT=FIXED;

CREATE TABLE `subscribes` (
`id` int(11) NOT NULL auto_increment,
`Idman` int(11) default NULL,
`name` tinytext,
`valid` tinyint(1) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `Idman` (`Idman`,`valid`),
CONSTRAINT `0_769` FOREIGN KEY (`Idman`, `valid`) REFERENCES `managers` (`Id`, `valid`)
) TYPE=InnoDB ROW_FORMAT=FIXED;

при таких таблицах не дает удалять из родительской таблицы...


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
27049



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |