Bạn không thêm ràng buộc trong câu lệnh này, bạn đang thêm ràng buộc s :mỗi mệnh đề trong hai mệnh đề NGOẠI KHÓA có nghĩa là một ràng buộc riêng biệt. Tuy nhiên, theo hướng dẫn sử dụng
, bạn sẽ có thể thêm nhiều ràng buộc khóa ngoại trong một câu lệnh ALTER TABLE nếu cần. Bạn chỉ cần bao gồm ADD
trước mọi ràng buộc.
Lưu ý rằng các tên ràng buộc áp dụng riêng lẻ cho các ràng buộc bạn đang thêm và vì vậy bạn có thể muốn chỉ định CONSTRAINT name
cho khóa ngoại thứ hai nếu bạn muốn nó có một tên cụ thể. Tương tự với ON UPDATE/ON DELETE
:chúng áp dụng cho khóa ngoại trực tiếp trước chúng.
Vì vậy, câu lệnh đã sửa có thể trông giống như sau:
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;