-- 假设我们有两个表:`orders` 和 `customers`
-- `customers` 表包含客户信息,`orders` 表包含订单信息,并且每个订单都关联到一个客户。
-- 创建 customers 表
CREATE TABLE customers (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100)
);
-- 创建 orders 表,不带外键约束
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
order_date DATE NOT NULL,
customer_id INT
);
-- 添加外键约束到 orders 表,确保 customer_id 引用 customers 表中的 customer_id
ALTER TABLE orders
ADD CONSTRAINT fk_customer
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
ON DELETE CASCADE
ON UPDATE CASCADE;
-- 解释:
-- 1. `ALTER TABLE orders`:修改 `orders` 表。
-- 2. `ADD CONSTRAINT fk_customer`:添加一个名为 `fk_customer` 的外键约束。
-- 3. `FOREIGN KEY (customer_id)`:指定 `orders` 表中的 `customer_id` 列作为外键。
-- 4. `REFERENCES customers(customer_id)`:指定该外键引用 `customers` 表中的 `customer_id` 列。
-- 5. `ON DELETE CASCADE`:当 `customers` 表中的记录被删除时,`orders` 表中对应的记录也会被自动删除。
-- 6. `ON UPDATE CASCADE`:当 `customers` 表中的 `customer_id` 被更新时,`orders` 表中对应的 `customer_id` 也会被自动更新。
上一篇:mysql character
下一篇:mysql代码
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站