Вие не добавяте ограничение в това изявление, вие добавяте ограничениеs :всяка от двете клаузи FOREIGN KEY означава отделно ограничение. Все пак според ръководството
, трябва да можете да добавите толкова ограничения на външния ключ в един израз ALTER TABLE, колкото е необходимо. Просто трябва да включите ADD
преди всяко ограничение.
Имайте предвид, че имената на ограничения се прилагат поотделно към ограниченията, които добавяте, и затова може да искате да посочите CONSTRAINT name
за втория външен ключ, ако искате той да има конкретно име. Същото с ON UPDATE/ON DELETE
:те се прилагат към външния ключ, който е директно пред тях.
Така че коригираното изявление може да изглежда така:
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;