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

Změňte tabulku tak, aby poskytovala omezení cizího klíče

V tomto prohlášení nepřidáváte omezení, ale přidáváte omezenís :každá ze dvou klauzulí FOREIGN KEY znamená samostatné omezení. Přesto podle příručky , měli byste být schopni přidat tolik omezení cizího klíče do jednoho příkazu ALTER TABLE, kolik je potřeba. Stačí zahrnout ADD před každým omezením.

Všimněte si, že názvy omezení platí jednotlivě pro omezení, která přidáváte, takže možná budete chtít zadat CONSTRAINT name pro druhý cizí klíč, pokud chcete, aby měl konkrétní název. Totéž s ON UPDATE/ON DELETE :platí pro cizí klíč, který je přímo předchází.

Opravený příkaz tedy může vypadat takto:

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. Změny GI 12.2

  2. Vícenásobné dotazy MYSQL vs. více smyček php foreach

  3. Připojení Sequel Pro a MySQL se nezdařilo

  4. Problém s kódováním znakové sady