Auto commit

This commit is contained in:
smallkun 2025-03-20 19:37:29 +08:00
parent 26b0159c32
commit 95aa201cf4

@ -214,6 +214,29 @@ WHERE e.emp_id = 1;
创建一个触发器 `before_employee_delete`,在删除 `employee` 表数据之前,将被删除的员工数据插入到一个备份表 `employee_backup` 中。
```sql
CREATE TABLE employee_backup AS
SELECT *
FROM employee
WHERE 0;
DELIMITER $$
DROP TRIGGER IF EXISTS before_employee_delete;
CREATE TRIGGER before_employee_delete
BEFORE DELETE ON employee
FOR EACH ROW
BEGIN
INSERT INTO employee_backup()
VALUES(OLD.emp_id, OLD.emp_name, OLD.salary, OLD.hire_date, OLD.dept_id, OLD.job_id);
END $$
DELIMITER ;
DELETE FROM employee
WHERE emp_id = 20;
```
#### 练习题 5: 自动设置默认职位
创建一个触发器 `before_employee_insert`,在插入 `employee` 表数据时,如果未指定 `job_id`,则自动将其设置为 `job` 表中的默认职位(假设默认职位的 `job_id` 为 1