Ho una tabella che ha 2 colonne che ho copiato da due tabelle diverse. Quello che voglio fare ora è dare un vincolo di chiave esterna su entrambi i nomi di colonna email e id mostrati di seguito.Alter table per fornire il vincolo di chiave esterna
ALTER TABLE users_role_map
ADD CONSTRAINT FK_users_role_map
FOREIGN KEY (email) REFERENCES usert(email),
FOREIGN KEY (id) REFERENCES rolet(id)
ON UPDATE CASCADE
ON DELETE CASCADE;
ottengo il seguente errore:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'FOREI
GN KEY (id) REFERENCES rolet(id)
ON UPDATE CASCADE
ON DELETE CASCADE' at line 4
Questo sembra corretto. Nella mia esperienza, non nominerò nemmeno manualmente i punti di riferimento o gli indici, lascio che MySQL lo gestisca dietro le quinte. –
Sì, la denominazione è facoltativa. In SQL Server, dove è anche opzionale, preferisco specificare i nomi, però. –
Solo curioso, perché? –