欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql 怎么建外鍵

錢諍諍2年前11瀏覽0評論

MySQL是一款流行的關系型數據庫管理系統。在設計數據庫時,有時需要建立表之間的關系,這時就需要用到外鍵。外鍵可以保證數據的完整性和一致性,使得表之間的關系更加清晰。下面介紹MySQL中如何建立外鍵。

1. 創建主表和從表

CREATE TABLE `tb_department` (
`dept_id` int(11) NOT NULL AUTO_INCREMENT,
`dept_name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`dept_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `tb_employee` (
`emp_id` int(11) NOT NULL AUTO_INCREMENT,
`emp_name` varchar(50) DEFAULT NULL,
`dept_id` int(11) DEFAULT NULL,
PRIMARY KEY (`emp_id`),
KEY `dept_id` (`dept_id`),
CONSTRAINT `tb_employee_ibfk_1` FOREIGN KEY (`dept_id`) REFERENCES `tb_department` (`dept_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

這里創建了兩個表,tb_department作為主表,tb_employee作為從表。tb_department中dept_id為主鍵,tb_employee中dept_id為外鍵,關聯到tb_department的dept_id字段上。注意,引擎類型需選擇InnoDB,因為只有InnoDB支持外鍵。

2. 建立外鍵

ALTER TABLE `tb_employee` ADD CONSTRAINT `tb_employee_ibfk_1` FOREIGN KEY (`dept_id`) REFERENCES `tb_department`(`dept_id`);

上面的代碼可以來實現在已有表上添加外鍵約束。名為tb_employee_ibfk_1的約束,關聯到tb_department的dept_id字段上。注意,如果已經有重名的外鍵約束,此語句執行會報錯。

3. 刪除外鍵

ALTER TABLE `tb_employee` DROP FOREIGN KEY `tb_employee_ibfk_1`;

刪除外鍵時,需要指定外鍵的名稱,使用DROP FOREIGN KEY語句即可。這里指定了tb_employee_ibfk_1作為外鍵名稱。

總結:MySQL中建立外鍵需要考慮表之間的關系,主表和從表的字段要保持一致,必須使用InnoDB引擎,建立外鍵可以使用CREATE TABLE或ALTER TABLE語句,刪除外鍵使用ALTER TABLE語句。