sql >> Databasteknik >  >> RDS >> Mysql

MySQL på radera kaskad. Testexempel

Svar d. är korrekt, om och bara om lagringsmotorn faktiskt stöder och upprätthåller begränsningar för främmande nyckel.

Om tabellerna skapas med Engine=MyISAM , då varken b. eller d. är korrekt.

Om tabellerna skapas med Engine=InnoDB , sedan d. är korrekt.

OBS:

Detta gäller för InnoDB om och endast om FOREIGN_KEY_CHECKS = 1; om FOREIGN_KEY_CHECKS = 0 , sedan en DELETE från den överordnade tabellen (foo) kommer inte ta bort rader från den underordnade tabellen (foo2) som refererar till en rad borttagen från den överordnade tabellen.

Verifiera detta med utdata från SHOW VARIABLES LIKE 'foreign_key_checks' (1=PÅ, 0=AV)(Normal standard är att detta är PÅ.)

Utdata från SHOW CREATE TABLE foo kommer att visa vilken motor tabellen använder.

Utdata från SHOW VARIABLES LIKE 'storage_engine' kommer att visa standardmotorn som används när en tabell skapas och motorn inte är specificerad.



  1. Hur återställer man sekvensen i postgres och fyller id-kolumnen med ny data?

  2. Hur frågar jag efter fält som innehåller en given text i MySQL?

  3. Hur får jag textinnehåll från BLOB i Oracle SQL

  4. php exempelskript för paginering