sql >> Databáze >  >> RDS >> Mysql

Omezení terminologie MySQL vs rozdíl cizích klíčů?

Ano, cizí klíč je druh omezení. MySQL má nerovnoměrnou podporu pro omezení:

  • PRIMARY KEY :ano jako omezení tabulky a omezení sloupce.
  • FOREIGN KEY :ano jako omezení tabulky, ale pouze s úložnými moduly InnoDB a BDB; jinak analyzován, ale ignorován.
  • CHECK :analyzován, ale ignorován ve všech úložištích.
  • UNIQUE :ano jako omezení tabulky a omezení sloupce.
  • NOT NULL :ano jako omezení sloupců.
  • DEFERRABLE a další atributy omezení:žádná podpora.

CONSTRAINT klauzule umožňuje pojmenovat omezení explicitně, buď aby byla metadata čitelnější, nebo jinak použít název, když chcete omezení zrušit. Standard SQL vyžaduje CONSTRAINT doložka je nepovinná. Pokud jej vynecháte, RDBMS vytvoří název automaticky a název závisí na implementaci.



  1. Po instalaci MySQL přes Brew se mi zobrazí chyba - Server skončil bez aktualizace souboru PID

  2. Jak provádět více dotazů na SQL

  3. INSERT IGNORE INTO a cizí klíče MySQL

  4. Nastavení úložiště konfigurace [soubor vs. databáze]