Tôi có một bảng có 2 cột mà tôi đã sao chép từ hai bảng khác nhau.Điều tôi muốn làm bây giờ là cung cấp ràng buộc khóa ngoài cho cả email tên và id được hiển thị bên dưới.Thay đổi bảng để cung cấp ràng buộc khóa ngoài
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;
tôi nhận được lỗi sau:
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
này có vẻ đúng. Theo kinh nghiệm của tôi, tôi thậm chí không tự đặt tên cho các contraints hoặc index, tôi để MySQL xử lý nó đằng sau hậu trường. –
Có, việc đặt tên là tùy chọn. Trong SQL Server, nơi mà nó là tùy chọn là tốt, tôi thích để xác định tên, mặc dù. –
Chỉ tò mò thôi, tại sao? –