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

Phím nước ngoài - Họ làm gì cho tôi?

Các khóa ngoại cung cấp tính toàn vẹn tham chiếu. Dữ liệu trong cột khóa ngoại được xác thực - giá trị chỉ có thể là một giá trị đã tồn tại trong bảng &cột được xác định trong khóa ngoại. Nó rất hiệu quả trong việc ngăn chặn "dữ liệu xấu" - ai đó không thể nhập bất cứ thứ gì họ muốn - số, văn bản ASCII, v.v. Điều đó có nghĩa là dữ liệu được chuẩn hóa - các giá trị lặp lại đã được xác định và tách biệt với bảng của họ, vì vậy không còn lo ngại nữa về cách xử lý phân biệt chữ hoa chữ thường trong văn bản ... và các giá trị nhất quán. Điều này dẫn đến phần tiếp theo - khóa ngoại là thứ bạn sử dụng để nối các bảng lại với nhau.

Truy vấn của bạn cho các dự án mà người dùng có sẽ không hoạt động - bạn đang tham chiếu một cột từ USERS bảng khi không có tham chiếu đến bảng trong truy vấn và không có truy vấn con nào được sử dụng để lấy thông tin đó trước khi liên kết nó với PROJECTS bàn. Những gì bạn thực sự sử dụng là:

SELECT p.*
   FROM PROJECTS p
   JOIN USERS u ON u.user_id = p.creator
WHERE u.username = 'John Smith'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách nhóm các phạm vi liên tục bằng MySQL

  2. Làm cách nào để thay đổi MariaDB thành MySQL trong XAMPP?

  3. Có điều gì đó tương tự với phương thức split () trong mySql không?

  4. Mệnh đề tương đương CHỈ TRONG () MySQL

  5. Tìm kiếm số điện thoại trong mysql