phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

Настройване на релациите на таблицата какво правят Cascade, Set Null и Restrict?

CASCADE ще разпространи промяната, когато родителят се промени. (Ако изтриете ред, редовете в ограничени таблици, които препращат към този ред, също ще бъдат изтрити и т.н.)

SET NULL задава стойността на колоната на NULL, когато родителски ред изчезне.

RESTRICT причинява неуспешен опит за ИЗТРИВАНЕ на родителски ред.

РЕДАКТИРАНЕ:Не сте попитали за тях, но стандартът на SQL дефинира две други действия:SET DEFAULT и NO ACTION . В MySQL NO ACTION е еквивалентен на RESTRICT . (В някои СУБД NO ACTION е отложена проверка, но в MySQL всички проверки са незабавни.) Парсерът на MySQL приема SET DEFAULT , но и двете машини InnoDB и NDB отхвърлят тези изрази, така че SET DEFAULT всъщност не може да се използва нито за ON UPDATE или ON DELETE ограничение.

Също така имайте предвид, че каскадните действия с външни ключове не активират тригери в MySQL.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Къде да напиша MySQL тригер

  2. PHPMyAdmin Windows XAMPP Липсва проблем с MySQL разширението

  3. #1193 - Неизвестна системна променлива 'lc_messages' при опит за влизане в phpmyadmin

  4. Преименуване на префикси на имена на таблици в рамките на phpmyadmin?

  5. Добавете ограничението NOT NULL към колона