Computer >> Máy Tính >  >> Lập trình >> MySQL

Sử dụng khóa ngoại trong MySQL


Hãy để chúng tôi hiểu cách sử dụng khóa ngoại trong MySQL -

Bảng InnoDB hỗ trợ kiểm tra các ràng buộc khóa ngoại. Không yêu cầu ràng buộc khóa ngoại chỉ để nối hai bảng. Nó có thể được sử dụng trong khi xác định một cột cần được sử dụng, cho các công cụ lưu trữ ngoài InnoDB. Tên bảng tham chiếu (colName) không có tác dụng thực sự và đóng vai trò như một nhận xét cho người dùng rằng cột hiện đang được xác định nhằm mục đích tham chiếu đến cột trong một bảng khác.

MySQL không thực hiện bất kỳ kiểm tra nào để đảm bảo rằng ‘colName’ thực sự tồn tại trong bản thân ‘tableName’ hoặc whethr ‘tableName’ thực sự tồn tại.

Trong bảng cha, khóa ngoại sẽ hoạt động như một khóa chính. Hãy để chúng tôi xem một ví dụ tạo một bảng.

Tạo bảng con

mysql> create table StudentEnrollment
−> (
   −> StudentId int,
   −> StudentName varchar(200),
   −> StudentFKPK int
−> );
Query OK, 0 rows affected (0.91 sec)

Tạo bảng mẹ

mysql> create table College
−> (
   −> StudentFKPK int,
   −> CourseId int,
   −> CourseName varchar(200),
   −> CollegeName varchar(200),
   −> primary key(StudentFKPK)
−> );
Query OK, 0 rows affected (0.46 sec)

Trong bảng cha, cột ‘StudentFKPK’ là một khóa chính. Chúng tôi sẽ sử dụng lệnh ALTER để thêm khóa ngoại.

Sau đây là cú pháp để thêm khóa ngoại.

Cú pháp

ALTER table yourChildTableName add constraint anyConstraintName
foreign key(primary key column name for parent table)
references College(primary key column name for parent table);