sql >> Database >  >> RDS >> Mysql

Tabel wijzigen om externe sleutelbeperking te geven

U voegt in deze verklaring geen beperking toe, u voegt beperkings toe :elk van de twee FOREIGN KEY-clausules betekent een afzonderlijke beperking. Toch, volgens de handleiding , moet u in staat zijn om zoveel externe sleutelbeperkingen in een enkele ALTER TABLE-instructie toe te voegen als nodig is. Je hoeft alleen maar ADD op te nemen vóór elke beperking.

Houd er rekening mee dat namen van beperkingen afzonderlijk van toepassing zijn op de beperkingen die u toevoegt, en daarom wilt u misschien CONSTRAINT name voor de tweede externe sleutel als u wilt dat deze een specifieke naam heeft. Hetzelfde met ON UPDATE/ON DELETE :ze zijn van toepassing op de refererende sleutel die er direct aan voorafgaat.

De gecorrigeerde verklaring kan er dus als volgt uitzien:

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. Verwijderen, bijwerken met afgeleide tabellen?

  2. totale inlog-uitlogtijd van een bepaalde gebruiker berekenen in mysql

  3. mysql-query:toon overzicht van alle gedane betalingen en totaal van facturen op datum

  4. MYSQL:DECIMAAL met een nauwkeurigheid van 10 cijfers na de komma