Вы не добавляете ограничение в этом выражении, вы добавляете ограничение s : каждое из двух предложений FOREIGN KEY означает отдельное ограничение.Тем не менее, согласно руководству , вы должны иметь возможность добавлять столько ограничений внешнего ключа в одну инструкцию ALTER TABLE, сколько необходимо.Вам просто нужно включить ADD
перед каждым ограничением.
Обратите внимание, что имена ограничений применяются индивидуально к добавляемым ограничениям, и поэтому вы можете указать CONSTRAINT <i>name</i>
для второго внешнего ключа, если вы хотите, чтобы оно имело определенное имя.То же самое с ON UPDATE/ON DELETE
: они применяются к внешнему ключу, который непосредственно предшествует им.
Таким образом, исправленное утверждение может выглядеть следующим образом:
ALTER TABLE users_role_map
ADD CONSTRAINT FK_users_role_map<b>1</b>
FOREIGN KEY (email) REFERENCES usert(email)
<b>ON UPDATE CASCADE
ON DELETE CASCADE</b>,
<b>ADD CONSTRAINT FK_users_role_map2</b>
FOREIGN KEY (id) REFERENCES rolet(id)
ON UPDATE CASCADE
ON DELETE CASCADE;