sql >> Databasteknik >  >> RDS >> Mysql

Skillnad mellan MySQL-terminologi och främmande nycklar?

Ja, en främmande nyckel är en typ av begränsning. MySQL har ojämnt stöd för begränsningar:

  • PRIMARY KEY :ja som tabellbegränsning och kolumnbegränsning.
  • FOREIGN KEY :ja som tabellbegränsning, men bara med InnoDB- och BDB-lagringsmotorer; annars analyseras men ignoreras.
  • CHECK :analyserad men ignorerad i alla lagringsmotorer.
  • UNIQUE :ja som tabellbegränsning och kolumnbegränsning.
  • NOT NULL :ja som kolumnbegränsning.
  • DEFERRABLE och andra begränsningsattribut:inget stöd.

CONSTRAINT sats låter dig namnge begränsningen uttryckligen, antingen för att göra metadata mer läsbar eller för att använda namnet när du vill ta bort begränsningen. SQL-standarden kräver att CONSTRAINT klausul är valfri. Om du utelämnar det skapar RDBMS ett namn automatiskt, och namnet är upp till implementeringen.



  1. Hur man subtraherar 30 dagar från det aktuella datumet med SQL Server

  2. Mysql MySQL eller PHP Förvandla rader till två kolumner dynamiskt

  3. måste returnera två uppsättningar data med två olika where-satser

  4. BeanCreationException:Det gick inte att skapa bönor med namnet 'flywayInitializer'