在MySQL中,外鍵是指一張表中的一個或多個字段,它們的值必須與其他表中的某個字段的值匹配。外鍵可以用于確保表之間的數據完整性。
外鍵字段的值必須是匹配表的主鍵或唯一鍵的值。這意味著,外鍵字段的值不能為NULL,否則將違反參照完整性。外鍵字段還必須具有與參照表的主鍵或唯一鍵相同的數據類型和長度。
CREATE TABLE department ( dept_id INT NOT NULL PRIMARY KEY, dept_name VARCHAR(50) NOT NULL ); CREATE TABLE employee ( emp_id INT NOT NULL PRIMARY KEY, emp_name VARCHAR(50) NOT NULL, dept_id INT NOT NULL, CONSTRAINT fk_dept_id FOREIGN KEY (dept_id) REFERENCES department(dept_id) );
在這個例子中,employee表中的dept_id列是一個外鍵,它參照了department表的dept_id列。因此,employee表中的dept_id列只能包含已存在于department表中的dept_id值。
需要注意的是,外鍵是定義在子表中的,而不是父表中。在這個例子中,employee表是子表,department表是父表。