sql >> Databasteknik >  >> RDS >> Mysql

Ändra tabell för att ge utländsk nyckel begränsning

Du lägger inte till en begränsning i detta uttalande, du lägger till begränsnings :var och en av de två FOREIGN KEY-satserna betyder en separat begränsning. Fortfarande, enligt manualen , bör du kunna lägga till så många främmande nyckelbegränsningar i en enda ALTER TABLE-sats som behövs. Du behöver bara inkludera ADD före varje begränsning.

Observera att begränsningsnamn gäller individuellt för begränsningarna du lägger till, så du kanske vill ange CONSTRAINT name för den andra främmande nyckeln om du vill att den ska ha ett specifikt namn. Samma med ON UPDATE/ON DELETE :de gäller för den främmande nyckeln som ligger direkt före dem.

Så det korrigerade uttalandet kan se ut så här:

ALTER TABLE users_role_map

ADD CONSTRAINT FK_users_role_map1
FOREIGN KEY (email) REFERENCES usert(email)
ON UPDATE CASCADE
ON DELETE CASCADE,

ADD CONSTRAINT FK_users_role_map2
FOREIGN KEY (id) REFERENCES rolet(id)
ON UPDATE CASCADE
ON DELETE CASCADE;



  1. vad är poängen med att serialisera arrayer för att lagra dem i db?

  2. Infoga data från SQL Server till MySql med Trigger

  3. @Column(unique=true) verkar inte fungera

  4. Felsökning av Microsoft SQL Server Error 18456