Có, khóa ngoại là một loại ràng buộc. MySQL hỗ trợ không đồng đều cho các ràng buộc:
-
PRIMARY KEY
:có như ràng buộc bảng và ràng buộc cột. -
FOREIGN KEY
:có như ràng buộc bảng, nhưng chỉ với công cụ lưu trữ InnoDB và BDB; nếu không thì đã phân tích cú pháp nhưng bị bỏ qua. -
CHECK
:đã phân tích cú pháp nhưng bị bỏ qua trong tất cả các công cụ lưu trữ. -
UNIQUE
:có như ràng buộc bảng và ràng buộc cột. -
NOT NULL
:có như ràng buộc cột. -
DEFERRABLE
và các thuộc tính ràng buộc khác:không hỗ trợ.
CONSTRAINT
mệnh đề cho phép bạn đặt tên cho ràng buộc một cách rõ ràng, để làm cho siêu dữ liệu dễ đọc hơn hoặc sử dụng tên khi bạn muốn loại bỏ ràng buộc. Tiêu chuẩn SQL yêu cầu CONSTRAINT
mệnh đề là tùy chọn. Nếu bạn bỏ qua, RDBMS sẽ tự động tạo tên và tên tùy thuộc vào việc triển khai.