sql >> Database >  >> RDS >> Mysql

MySQL-terminologiebeperkingen versus verschil in externe sleutels?

Ja, een externe sleutel is een soort beperking. MySQL heeft ongelijke ondersteuning voor beperkingen:

  • PRIMARY KEY :ja als tabelbeperking en kolombeperking.
  • FOREIGN KEY :ja als tabelbeperking, maar alleen met InnoDB- en BDB-opslagengines; anders ontleed maar genegeerd.
  • CHECK :ontleed maar genegeerd in alle opslag-engines.
  • UNIQUE :ja als tabelbeperking en kolombeperking.
  • NOT NULL :ja als kolombeperking.
  • DEFERRABLE en andere beperkingskenmerken:geen ondersteuning.

De CONSTRAINT clausule stelt u in staat om de beperking expliciet een naam te geven, ofwel om metadata leesbaarder te maken, ofwel om de naam te gebruiken wanneer u de beperking wilt laten vallen. De SQL-standaard vereist dat de CONSTRAINT clausule is optioneel. Als je het weglaat, maakt het RDBMS automatisch een naam aan, en de naam is aan de implementatie.



  1. Voeg een inner join toe aan de mySQL GROUP_CONCAT-instructie

  2. Rapporteren van SQLDIAG-prestatiegegevens via RML Utilities Tool | Problemen met SQL Server-prestaties oplossen -7

  3. CHAR() Voorbeelden in MySQL

  4. Oracle SQL-query om alle datums van de vorige maand weer te geven