Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Ai đó có thể giải thích các khóa ngoại MySQL không

Điều này không tự động, bạn phải thêm ràng buộc khóa ngoại trên customer_id cột của order bàn. Điều này có thể được thực hiện tại thời điểm tạo bảng hoặc sử dụng câu lệnh ALTER. Kiểm tra tài liệu để biết chi tiết. Như những người khác đã chỉ ra, hãy lưu ý rằng cả hai bảng cần phải là các bảng InnoDB (các ràng buộc khóa ngoại không được hỗ trợ bởi công cụ lưu trữ MyISAM sẽ bỏ qua chúng).

Có hoặc không có ràng buộc FK, truy vấn sẽ giống như sau:

SELECT * 
FROM CUSTOMER C, ORDER O
WHERE C.ID = O.CUSTOMER_ID
AND O.ID = ...

Ràng buộc FK sẽ "chỉ" đảm bảo rằng cột CUSTOMER_ID của bảng ORDER không thể chứa các giá trị không tồn tại trong bảng CUSTOMER (ngoại trừ có khả năng là NULL) và do đó thực thi tính toàn vẹn tham chiếu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi mảng JSON trong MySQL thành hàng

  2. Loại trường cơ sở dữ liệu tốt nhất cho một URL

  3. mysql CONCAT () NHƯ tên?

  4. Làm cách nào để chọn hàng thứ n trong bảng cơ sở dữ liệu SQL?

  5. Làm thế nào để giới hạn số hàng có thể được lưu trữ trong bảng mysql?