问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用SQL触发器实现log日志

发布网友 发布时间:2022-04-07 17:47

我来回答

2个回答

懂视网 时间:2022-04-07 22:08

+-------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | money | decimal(10,2) | NO | | NULL | | | op | char(10) | YES | | NULL | | +-------+---------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec) mysql> desc log; +-------------+-----------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-----------+------+-----+-------------------+-----------------------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | op | char(10) | YES | | NULL | | | oid | int(11) | NO | | NULL | | | last_update | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +-------------+-----------+------+-----+-------------------+-----------------------------+ 4 rows in set (0.00 sec)

创建一个触发器

mysql> delimiter $$
mysql> create trigger pay_log after insert on pay for each row begin insert into log set oid=new.id, op=new.op; end;$$
mysql> delimiter ;

参看触发器是否创建成功

mysql> show triggersG;
*************************** 1. row ***************************
  Trigger: pay_log
  Event: INSERT
  Table: pay
  Statement: begin insert into log set oid=new.id, op=new.op; end
  Timing: AFTER
  Created: NULL
  sql_mode: 
  Definer: root@localhost
character_set_client: latin1
collation_connection: latin1_swedish_ci
 Database Collation: utf8_general_ci
1 row in set (0.00 sec)

ERROR: 
No query specified

测试

mysql> insert into pay set money=123,op=‘jimmy‘;
mysql> select * from pay; +----+--------+-------+ | id | money | op | +----+--------+-------+ | 3 | 123.00 | jimmy | | 4 | 123.00 | jimmy | +----+--------+-------+ 2 rows in set (0.00 sec) mysql> select * from log; +----+-------+-----+---------------------+ | id | op | oid | last_update | +----+-------+-----+---------------------+ | 1 | jimmy | 3 | 2015-05-16 16:32:05 | | 2 | jimmy | 4 | 2015-05-16 16:32:51 | +----+-------+-----+---------------------+ 2 rows in set (0.00 sec)

同理还可以再创建一个update和delete的触发器

 

题外话

      创建触发器的时候发现没有权限,启动参数加上--skip-grant-table解决

用mysql触发器实现log记录

标签:

热心网友 时间:2022-04-07 19:16

你可以存储过程来调用触发器,
代码段调用存储过程传递参数(用户名、时间、上一部门)追问能提示一些具体的词汇吗?因为是初学者,甚至不知道该搜索什么

SQL中触发器的触发类型有哪几种?

1、DML触发器,当数据库中表中的数据发生变化时,包括insert,update,delete任意操作,如果对该表写了对应的DML触发器,那么该触发器自动执行。2、DDL触发器,是Sql Server2005新增的触发器,主要用于审核与规范对数据库中表,触发器,视图等结构上的操作。比如在修改表,修改列,新增表,新增列等。它在...

关于SQL触发器实现记录修改字段名称,变更前值,变更后值,变更时间_百度...

before varchar2(100);after varchar2(100);updatedate date )2.建触发器 create or replace trigger TRG_UPDATE_T2 before update on t2 for each row BEGIN if(:old.col1!=:new.col1){insert into t2 values(col1.name,:old.col1,:new.col1,sysdate};/*插入日志表,不过若要唯一标示,...

SQL触发器的语法

触发器条件指定其它准则,以确定 DELETE、INSERT 或 UPDATE 语句是否导致执行触发器操作。当尝试 DELETE、INSERT 或 UPDATE 操作时,Transact-SQL语句中指定的触发器操作将生效。触发器可以包含任意数量和种类的 Transact-SQL 语句。触发器旨在根据数据修改语句检查或更改数据;它不应将数据返回给用户。触发器中的 Transact-...

请教如何使用SQL的触发器 数据库是MSSQLSERVER

·为DELETE动作定义的触发器并不执行TRUNCATE TABLE语句,原因在于日志不记录TRUNCATE TABLE语句。 示例 在本例中,将创建一个触发器,无论何时删除一个产品类别(即从Categories表中删除一条记录),该触发器都会更新Products表中的Discontinued列。所有受影响的产品都标记为1,标示不再使用这些产品了。 ===USE Northwind ...

SQL Server触发器创建、删除、修改、查看

一:触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录_更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。二:SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存中而不是在数据库中。

SQL触发器如何使用

当尝试 DELETE、INSERT 或 UPDATE 操作时,Transact-SQL语句中指定的触发器操作将生效。触发器可以包含任意数量和种类的 Transact-SQL 语句。触发器旨在根据数据修改语句检查或更改数据;它不应将数据返回给用户。触发器中的 Transact-SQL 语句常常包含控制流语言。CREATE TRIGGER 语句中使用几个特殊的表: deleted 和 ...

mysql触发器(MySQL触发器(定义、使用及示例))

MySQL触发器是一种特殊的存储过程,它是由MySQL服务器自动执行的一种数据库对象。当指定的事件发生时,触发器会被激活并执行相应的操作。这些事件可以是INSERT、UPDATE或DELETE语句的执行,也可以是表的创建或删除。MySQL触发器可以用于实现数据的自动更新、数据的验证和数据的审计等功能。MySQL触发器的定义...

SQL触发器编程

GO 2、在“Borrow”表中创建一个触发器del_borrower_tr,当删除“借阅”表中的某个记录时,若“还书日期”为空值,则不允许删除该记录。--- 这个可以通过触发器实现 3、在“Borrow”表中创建一个触发器update_return_tr,当更新“借阅”表中的某个记录时,只能更新“还书日期”字段,其他字段不...

数据库触发器有什么作用?

触发器的作用:自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。同步实时地复制表中的数据。实现复杂的非标准的数据库相关完整性规则。可在写入数据表前,强制检验或转换数据。触发器发生错误时,异动的结果会被撤销。部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL...

SQL SERVER数据库触发器的使用

触发器2_初始化环境SQL 初始化环境 触发器3_定义触发器的格式 定义触发器的格式 触发器4_insert 触发器SQL insert 触发器 触发器5_delete 触发器SQL delete 触发器 触发器6_update 触发器SQL update 触发器

T触发器转换为D触发器 触发器的触发方式 锁存器和触发器区别 RS触发器 日志为什么叫log log日志 如何查看log日志 log日志解析 log日志的包
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
哪些狗好养 眉山到重庆顺丰快递多少 从四川寄信到重庆要多少天啊 四川眉山到重庆万州,哪种快递最便宜 四川眉山市洪雅县寄信到重庆市垫江县大概多少天能到? 关于韵达快递的 优速快递成都眉山到重庆需要多久的时间? 用烤箱烤红薯(用烤箱烤红薯的温度和时间) 海鲜酱油能完全替代生抽在烹饪中使用吗? ...钻戒,但是我的预算不多,想知道晶豆子的莫桑石戒指大家觉得怎么样... 国家开放大学一网一平台注册错误如何重新注册 怎样注销一网乡汇帐号? 一网畅行怎么注销手机号? 热伤风吃什么好? 手机上注销一网服务企业名称为什么填不上去? PHOTOSHOP里怎么添加指北针 风热感冒可以吃什么水果,桔子,苹果可以吗 风热感冒没胃口吃什么好 风热感冒能吃什么水果 离离原上草,一岁一枯荣。 野火烧不尽,春风吹又生。这首诗还有下文吗,还是就是这样?它叫什么名字? 丁真被众星争相合影人气高,为何却唯独优待黄子韬呢? 离离原上草 ,一岁一枯荣。野火烧不尽,春风吹又生。的诗名是什么? 毛不易和郭麒麟交友,方式特殊堪称“传奇”,粉丝羡慕不来,你怎么看待? 离离原上草一岁一枯荣野火烧不尽春风吹又生诗名是什么诗名是什么? 以前打王者打累了,就在大厅里d了个野王,刚开始聊了几天,他问我可以奔现吗.的确这点怪我,怪我当时觉_百度问一问 离离原上草,一岁一枯荣。野火烧不尽,春风吹又生。诗的名字叫什么 网恋第一次奔现怎么穿 “离离原上草,一岁一枯荣。野火烧不尽,春风吹又生。”这首诗的名字? 离离原上草一岁一枯荣的诗名 离离原上草诗名叫啥 公司注销,推荐一个可以帮我注销的平台? 一个平台的网贷注销了那个平台要多久才能看不到的 如何看待现在互联网上各大平台无“账号注销”功能? 网约车被公司注销平台还可以重新入平台吗 微信聊天记录删除了怎么恢复4s 一融网工商注册中的企业注销有哪些服务内容 苹果4s微信聊天记录删除了还能恢复吗?未越狱。 姚安娜为什么叫华为二公主? 如何管理10个微信群 “华为二公主”姚安娜出道,为什么网友只喜欢她的姐姐孟晚舟? iphone4s怎么恢复微信聊天记录 华为二公主姚安娜微博曝光,为何网友评论和孟晚舟相比,同爹不同命? 姚安娜综艺首秀被说太娇贵,狂上热搜的华为二公主,为何就是不红呢? 华为二公主姚安娜生图上热搜,网上质疑声一片,果真有钱就是任性? 4S微信聊天记录删除恢复 苹果4s微信聊天内容怎么查 苹果4s微信聊天记录怎么还原 华为二公主正式进入娱乐圈,可能会给华为带来什么影响? 奔跑吧兄弟第五季什么时候开播播 如何管理好一个500人的微信群