用数据库创建一个DELECT/UPDATE触发器,当删除(更新)数据时,先备份该数据到备份表
时间: 2023-06-16 22:03:05 浏览: 89
好的,下面是一个示例代码,可以在 MySQL 数据库中创建一个触发器,实现在删除或更新数据时备份数据到备份表:
```
-- 创建备份表,用于存储删除或更新的数据
CREATE TABLE `backup_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data` text,
`operation` varchar(10),
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 创建删除数据的触发器
CREATE TRIGGER `delete_trigger` BEFORE DELETE ON `original_table`
FOR EACH ROW BEGIN
INSERT INTO `backup_table` (`data`, `operation`)
VALUES (OLD.data, 'DELETE');
END;
-- 创建更新数据的触发器
CREATE TRIGGER `update_trigger` BEFORE UPDATE ON `original_table`
FOR EACH ROW BEGIN
INSERT INTO `backup_table` (`data`, `operation`)
VALUES (OLD.data, 'UPDATE');
END;
```
触发器会在删除或更新原始表中的数据之前执行,在备份表中插入一条记录,包含被删除或更新的数据以及操作类型(DELETE 或 UPDATE)。这样可以保证数据的备份和恢复。请注意替换示例中的 `original_table` 和 `backup_table` 表名为实际的表名。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)