
нужно создать связь таблицы MAIN(ключовое поле ID) с таблицами A,B,C тиким образом, чтобы любая взятая айдишка с табилицы MAIN была найдена хотябы в одной из таблиц A,B,C. Другими словами чтобы MY_SQL не допускала ситуации занесения в таблицу MAIN в поле ID значения которого нету ни в одной из таблиц A,B,C по соответствующим полям.
Спустя 10 часов, 27 минут, 36 секунд (31.05.2007 - 09:43) Ghost написал(а):
только через тригеры
Спустя 2 часа, 4 минуты, 15 секунд (31.05.2007 - 11:48) AlexBB написал(а):
Цитата(Ghost @ 31.5.2007, 10:43) [snapback]21712[/snapback]
только через тригеры
Причем тут тригеры? Обычный констрейнт. Поддерживается начиная по моему с версии 4.1. Тока внимание! Таблицы должны быть INNODB, а не MyISAM, который обычно по умолчанию.
Пример создания:
alter table table1 add constraint fk_table1 foreign key (Id) references table2 (Id) on delete restrict on update restrict;
Чтоб руками все это не писать, советую проектировать базу в Power Designer, который по визуальной модели сгенерит SQL скрипт со всеми связями.
Спустя 1 час, 50 минут, 13 секунд (31.05.2007 - 13:38) Ghost написал(а):
насколько я понимаю, ему нужно связка не 1-много, а
и при этом условия не на таблицы а,б, с - а на основную
это не foreing key
Цитата
любая взятая айдишка с табилицы MAIN была найдена хотябы в одной из таблиц A,B,C.
и при этом условия не на таблицы а,б, с - а на основную
это не foreing key
Спустя 11 минут, 8 секунд (31.05.2007 - 13:49) AlexBB написал(а):
Цитата(Ghost @ 31.5.2007, 14:38) [snapback]21731[/snapback]
и при этом условия не на таблицы а,б, с - а на основную
это не foreing key
это не foreing key
Гм, да пожалуй ты прав ... невнимательно прочитал задачу.
Только в таком случае есть у меня подозрение, что база спроектирована неправильно т.к. уловие несколько иррациональное.
Спустя 10 часов, 21 минута, 57 секунд (1.06.2007 - 00:11) nickROMAnt написал(а):
Цитата
Таблицы должны быть INNODB, а не MyISAM, который обычно по умолчанию
кроме MyISAM я вижу только:
-Heap
-Berkeley DB
-Marge
ето потомушто версия пхп май админ 2.6.1 или майскюел 3.23.49?
Ви написали с версии 4.1 Это версия чего??

Спустя 11 часов, 32 минуты, 31 секунда (1.06.2007 - 11:43) AlexBB написал(а):
Цитата(nickROMAnt @ 1.6.2007, 1:11) [snapback]21755[/snapback]
Ви написали с версии 4.1 Это версия чего?? 

Разумеется MySQL

Про трешку давно уже надо забыть ... уже настало время подумать о переходе на пятерку ...
Спустя 1 день, 10 часов, 5 минут, 45 секунд (2.06.2007 - 21:49) nickROMAnt написал(а):
Так как денверов не нашол с последними версиями PHP и MySql пришлось ставить все пооддельности:
Apatch 2.2.2
PHP 5.2.3
MySql 5.0.41
PhpMyAdmin 2.10.1
Пока обновился чуть кришу не сорвало
Теперь и InnoDb есть, и связи работают, все позади!! я стчаслив
Благодарен всем кто помогал.
Обявляю тему закрытой!
Apatch 2.2.2
PHP 5.2.3
MySql 5.0.41
PhpMyAdmin 2.10.1
Пока обновился чуть кришу не сорвало

Теперь и InnoDb есть, и связи работают, все позади!! я стчаслив

Благодарен всем кто помогал.
Обявляю тему закрытой!
_____________