Nếu bạn thực sự muốn tạo một khóa ngoại cho một khóa không phải là khóa chính, thì nó PHẢI là một cột có ràng buộc duy nhất đối với nó.
Từ Sách Trực tuyến:
Ràng buộc FOREIGN KEY không phải chỉ được liên kết với một ràng buộc PRIMARYKEY trong một bảng khác; nó cũng có thể được định nghĩa để tham chiếu đến các cột của ràng buộc DUY NHẤT trong một bảng khác.
Vì vậy, trong trường hợp của bạn nếu bạn tạo AnotherID
duy nhất, nó sẽ được cho phép. Nếu bạn không thể áp dụng một ràng buộc duy nhất thì bạn không gặp may, nhưng điều này thực sự có ý nghĩa nếu bạn nghĩ về nó.
Mặc dù, như đã được đề cập, nếu bạn có một khóa chính hoàn toàn tốt làm khóa ứng viên, tại sao không sử dụng nó?