sql >> Database teknologi >  >> Database Tools >> phpMyAdmin

Opsætning af tabelrelationer, hvad gør Cascade, Set Null og Restrict?

CASCADE vil udbrede ændringen, når forælderen ændres. (Hvis du sletter en række, vil rækker i begrænsede tabeller, der refererer til denne række, også blive slettet osv.)

SET NULL indstiller kolonneværdien til NULL, når en overordnet række forsvinder.

RESTRICT forårsager, at forsøget på SLETT af en overordnet række mislykkes.

EDIT:Du spurgte ikke om dem, men SQL-standarden definerer to andre handlinger:SET DEFAULT og NO ACTION . I MySQL, NO ACTION svarer til RESTRICT . (I nogle DBMS'er, NO ACTION er en udskudt kontrol, men i MySQL er alle kontroller øjeblikkelige.) MySQL-parseren accepterer SET DEFAULT , men både InnoDB- og NDB-motorerne afviser disse udsagn, så SET DEFAULT kan faktisk heller ikke bruges til en ON UPDATE eller ON DELETE begrænsning.

Bemærk også, at cascading udenlandske nøglehandlinger ikke aktiverer triggere i MySQL.



  1. hvordan man vælger de 5 seneste række fra min mysql

  2. PHPMyAdmin 4.0.5 - Grid edit, checkbox, Edit, Copy og Delete funktioner er ikke tilgængelige

  3. Gem forespørgsel som en tabel med Postgresql

  4. MySQL Workbench og phpMyadmin