Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Ограничения внешнего ключа
Покинул форум
Сообщений всего: 223
Дата рег-ции: Май 2011
Помог: 1 раз(а)
Прочитал я http://www.php.su/mysql/manual/?page=SEC451 здесь но ни чего не понял, что за ограничения за чем они нужны и как ими пользоваться, до этого долгое время использовал только myISAM
А тут решил попробовать использовать внешние ключи, создал их через phpMyAdmin при просмотре дампа увидел там следующее
Ограничения внешнего ключа таблицы
если даже я эти 2 поля подчеркнутых красным очисшаю они все равно автоматом заполняются.
Конечно использование здесь таблиц InnoDB не принципиально, и можно было использовать старые хорошо изученные myISAM, но хотелось бы для себя разобраться в этом вопросе.
KingStar
Отправлено: 15 Марта, 2015 - 23:17:36
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
если по русски, то
CASCADE: если обновишь (удалишь) в основной таблице, то и и в таблице (цах), которая ссылается на основную с этими ключами будет обновлена (удалена)
SET NULL: если обновишь (удалишь) в основной таблице, то и и в таблице, которая ссылается на основную с этими ключами будет задано значение NULL
RESTRICT: если какая либо таблица ссылается на основную, и ты попытаешься изменить (удалить) запись из основной, то получишь ошибку, пока вручную не удалишь из ссылающейся (Добавление)
Цитата:
если даже я эти 2 поля подчеркнутых красным очисшаю они все равно автоматом заполняются.
ссылаться на внешний ключ нужно обязательно, чтобы удалить ограничение - то в первом selecte выбери в списке верхнее (пустое) значение
----- То что программа работает, не означает что она написана правильно!
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.