sql >> Databasteknik >  >> RDS >> Mysql

Begränsning i MYSQL-tabellen?

Det finns några saker om de två begränsningarna du vill införa:

  1. Ny infogat rad kan inte ha NULL-värde för kolumnen Parent_group.

    • Du kan lägga en NOT NULL-begränsning på en kolumn endast om den innehåller alla icke-nullvärden. Du behöver ett nollvärde i den här kolumnen för rotnoden.
    • För detta kan du använda begränsningen CHECK. Läs mer om KONTROLLBEGRÄNSNING här .
    • Du kan lägga

Detta tillåter endast ett NULL-värde för rotnoden och tvingar fram ett NOT NULL-värde för varannan rad i tabellen.

  1. Lägg till en begränsning så att rotgruppsraden inte kan tas bort.

    • Att du redan har definierat en främmande nyckel mellan parent_group och pkey , kommer databasen automatiskt att upprätthålla referensintegritet och förbjuda rotnoden (eller för den delen någon överordnad nod) från att tas bort. Databasen kommer att returnera ett fel om ett DELETE-försök görs på någon överordnad eller rotnod.
  2. För punkten som nämns i EDIT sektionen kan du lägga en enkel kontrollbegränsning på tabellen som
    CHECK (parent_group != pkey) . Detta borde göra jobbet åt dig.

Läs om hur du definierar begränsningar för främmande nyckel och hur du använder dem för att upprätthålla referensintegritet. Gå också igenom länken jag har postat ovan eller här innan du tillämpar dessa förslag.




  1. få 2 dagar sedan fråga i mysql

  2. Hur uppdaterar man rullgardinsmenyn utan att sidan uppdateras?

  3. SQLite Välj Distinct

  4. Puma Cluster-konfiguration på Heroku