精华内容
下载资源
问答
  • 下面的文章主要描述的是MySQL触发器的正确创建步骤,MySQL触发器的删除,你如果对MySQL触发器的正确创建步骤,MySQL触发器的删除有兴趣的话你就可以点击以下的文章进行观看了。1、创建MySQL触发器:语法:...

    下面的文章主要描述的是MySQL触发器的正确创建步骤,MySQL触发器的删除,你如果对MySQL触发器的正确创建步骤,MySQL触发器的删除有兴趣的话你就可以点击以下的文章进行观看了。

    1、创建MySQL触发器:

    语法:

    CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name

    FOR EACH ROW

    BEGIN

    trigger_stmt

    END;

    CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name

    FOR EACH ROW

    BEGIN

    trigger_stmt

    END;

    例子

    CREATE TRIGGER SetUserHome after insert ON users

    FOR EACH ROW

    BEGIN

    update `users` set homeLocationX = 128,

    homeLocationY=128, homeLocationZ=30

    where uuid = NEW.uuid

    END

    以上的例子是错误的, 让本表进行触发时进行更新会让程序进入死循环。

    系统会报这样的错误:it is already used by statement which invoked this stored function/trigger.

    应该改成以下语句:

    CREATE TRIGGER SetUserHome before insert ON users

    FOR EACH ROW

    BEGIN

    set New.homeLocationX = 128;

    set New.homeLocationY = 128;

    set New.homeLocationZ=30;

    END

    大写的为关键字

    trigger_name:触发器的名字,我常用的命名规则t_name_tableName_(b|a)(i|u|d),t:MySQL触发器标识,name:英文名,tableName:表名,b(BEFORE):标识是触发事件之前,a(AFTER):标识触发事件之后,i(insert):标识insert事件,u(update):标识update事件,d(delete):标识delete事件;

    trigger_time:触发时间(BEFORE或AFTER)

    trigger_event:事件名(insert或update或delete)

    tbl_name:表名(必须是永久性表)

    trigger_stmt:执行语句(可以是复合语名),使用别名OLD和NEW,能够引用与触发程序相关的表中的列。

    2、删除解发器

    语法:

    DROP TRIGGER [schema_name.]trigger_name;

    注意:以上操作均需SUPER权限

    示例:

    DROP TRIGGER t_wiley_hotelComment_bu;

    delimiter //

    CREATE TRIGGER t_wiley_hotelComment_bu BEFORE UPDATE ON hotel_comment

    FOR EACH ROW

    BEGIN

    IF OLD.ispass=0 && NEW.ispass=1 THEN

    UPDATE hotel_info SET sumcommentsumcomment=sumcomment+1,

    sumconsumesumconsume=sumconsume+NEW.consume,sumservicesumservice=sumservice+NEW.service,

    sumroomsumroom=sumroom+NEW.room,sumentironsumentiron=sumentiron+NEW.entironment,

    totaltotal=total+(NEW.service+NEW.room+NEW.entironment) WHERE hotel_id=NEW.hotel_id;

    ELSEIF OLD.ispass=1 && NEW.ispass=0 THEN

    UPDATE hotel_info SET sumcommentsumcomment=sumcomment-1,

    sumconsumesumconsume=sumconsume-NEW.consume,sumservicesumservice=sumservice-NEW.service,

    sumroomsumroom=sumroom-NEW.room,sumentironsumentiron=sumentiron-NEW.entironment,

    totaltotal=total-(NEW.service+NEW.room+NEW.entironment) WHERE hotel_id=NEW.hotel_id;

    END IF;

    END;//

    delimiter ;

    以上的相关内容就是对MySQL触发器的使用的介绍,望你能有所收获。

    展开全文
  • MySQL触发器

    2018-12-28 00:48:00
    似乎在《高性能MySQL》中,对触发器作了一定的描述,也提到使用中的一些优势和局限性,但感觉还是不能完全理解触发器的全部功能和实现。于是自己在网上看了一些文章,结合官网...

    触发器(trigger)是数据库中的一个很重要的、很实用的基于事件的处理器,在处理一些业务需求的时候,使用触发器会很方便。似乎在《高性能MySQL》中,对触发器作了一定的描述,也提到使用中的一些优势和局限性,但感觉还是不能完全理解触发器的全部功能和实现。于是自己在网上看了一些文章,结合官网(https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html)中的案例,写下这篇总结。

     

    基本理解:

    1. 使用场合:

    触发器是基于事件的,主要的事件也就是MySQL的增删改操作,即insert,delete,update。

    2. 触发器的命名

    Trigger names exist in the schema namespace, meaning that all triggers must have unique names within a schema. Triggers in different schemas can have the same name.

    因为触发器在单表的命名空间内,所以同一个表的触发器名称需要不同。不同表可以有相同的触发器名称。

    3. 触发器执行顺序

    如果有相同的update(或者delete,insert)触发器,就会按照创建的时间来执行。

    而FOLLOWS 和 PRECEDES 可以修改trigger的执行顺序

    例如官方的案例:

    mysql> CREATE TRIGGER ins_transaction BEFORE INSERT ON account

           FOR EACH ROW PRECEDES ins_sum

           SET

           @deposits = @deposits + IF(NEW.amount>0,NEW.amount,0),

           @withdrawals = @withdrawals + IF(NEW.amount<0,-NEW.amount,0);

    Query OK, 0 rows affected (0.01 sec)

     

    ins_transaction和ins_sum分别是两个触发器的名称。

     

    4. 触发器的作用

    1. 安全性。可以基于数据库的值使用户具有操作数据库的某种权利。

    1)可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据。

    2)可以基于数据库中的数据限制用户的操作,例如不允许单个商品的购买量大于一个固定值。

    2. 审计。可以跟踪用户对数据库的操作。  

     1)审计用户操作数据库的语句。

     2)把用户对数据库的更新写入审计表。

    这一块因为本人没有用过,就不赘述了,以后有机会来补充

    3. 实现复杂的数据完整性规则

    实现非标准的数据完整性检查和约束。触发器可产生比规则更为复杂的限制。与规则不同,触发器可以引用列或数据库对象。例如,触发器可回退任何企图吃进超过自己保证金的期货。

    4. 实现复杂的非标准的数据库相关完整性规则。

    1)触发器可以对数据库中相关的表进行连环更新。这是用得比较多的一种实现功能。

    2) 触发器能够拒绝或回退那些破坏相关完整性的变化,取消试图进行数据更新的事务。当插入一个与其主健不匹配的外部键时,这种触发器会起作用。

    下面的例子我会比较详细的描述这两个特性。

    5. 同步实时地复制表中的数据。

    6. 自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。

    例如,如果公司的帐号上的资金低于5万元则立即给财务人员发送警告数据。

     

    1)插入数据:

    当用户添加一个订单的时候,我们需要对商品表格中的库存(storage)进行相应的改动

    mysql> create trigger shop_goods
        -> after insert on shoppingcar
        -> for each row
        -> update goods set storage=storage-new.amount where id=new.g_id
        -> ;
    Query OK, 0 rows affected (0.03 sec)
    
    mysql>insert into shoppingcar values(1,1,2);

     

    查询结果:

    goods表
    +-------+---------+-------------+---------+
    | id    | gname   | description | storage |
    +-------+---------+---------- --+---------+
    |  1    |  huawei |  rongyao9   |    198  |
    |  2    |  iphone |  iphoneX    |    100  |
    +-------+---------+-------------+---------+
    
    shoppingcar表
    +----- -+----- -+--------+
    | u_id  | g_id  | amount |
    +-------+-------+--------+
    |  1    |   1   |  2     |
    +-------+-------+--------+

     

    关于newold的使用

    new表示新的数据行,而old表示旧的数据行

     

    2)删除数据

    例如,用户撤销一个订单的时候,我们需要将商品的数量加回去

    mysql> create trigger shop_good1
        -> after delete on shoppingcar
        -> for each row
        -> update goods set storage=storage+old.amount where id=old.g_id;
    Query OK, 0 rows affected (0.01 sec)

     

    删除前:
    mysql> select  * from goods;
    +-----+---------+-------------+---------+
    | id  | gname   | description | storage |
    +-----+---------+-------------+---------+
    |  1  |  huawei | rongyao9    |    198  |
    |  2  |  iphone | iphoneX     |    100  |
    +-----+---------+-------------+---------+
    2 rows in set (0.00 sec)
    
    
    mysql> select  * from shoppingcar;
    +------+------+--------+
    | u_id | g_id | amount |
    +------+------+--------+
    |   1  |   1  |     2  |
    +------+------+--------+
    1 rows in set (0.00 sec)

     

    删除数据:
    mysql> delete from shoppingcar where g_id=1;
    Query OK, 1 row affected (0.03 sec)

     

    结果:

     

     

    3)更新数据(可增可减)

    当用户对想通过修改购物车的数量来修改自己购买某种商品的数量,那么,我们的库存也需要跟着改动。

    mysql> create trigger shop_good2
        -> after update on shoppingcar
        -> for each row
        -> update goods set storage=storage-new.amount+old.amount where id=new.g_id/old.g_id;
    Query OK, 0 rows affected (0.14 sec)

     

    查看触发器命令

    show triggers

    这个命令只能看到都有哪些的triggers,而看不到trigger的具体信息。

     

    所有触发器信息都存储在information_schema数据库下的triggers表中,可以使用SELECT语句查询。如果有很多个触发器,最好通过TRIGGER_NAME字段指定查询某一个触发器。

    例如:

    SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME='XXX';

     

     

    (4)限制条件

    条件限制对一些涉及到金额的场合(如开篇提到的)非常重要,在电商的限购数额中也会有应用。

    trigger利用delimiter,begin和if语句块实现限制条件。

    例如:
    mysql> delimiter //           
    mysql> create trigger shop_limit before update on shoppingcar
        -> for each row
        -> begin
        ->   if new.amount>3 then
        ->      set new.amount=3;
        ->   elseif new.amount<0 then
        ->      set new.amount=0;
        ->   end if;
        -> end; //
    mysql> delimiter ;

    条件语句程序块用begin和end包裹起来实现

    delimiter:切换结束符,因为;是MySQL中默认的结束符,如果程序块中出现;符号,就会引起冲突。最后要将结束符修改回来。注意delimiter与结束符之间有空格,否则会无法切换。

     

    更新数据前:

     

    更新数据:

    mysql> update shoppingcar set amount=4 where u_id=1;
    Query OK, 1 row affected (0.02 sec)
    Rows matched: 1  Changed: 1  Warnings: 0

     

    更新数据后:

    购买量无法超过3

     

     

    关于触发器与事务

    对于事务表(Innodb),before语句后面的判断语句失败将会导致回滚事件语句执行的所有更改。触发器失败会导致语句失败,因此触发器失败也会导致回滚。对于非事务性表(MyISAM),无法执行此类回滚,因此尽管语句失败,但在错误点之前执行的任何更改仍然有效。

     

    关于触发器的使用限制

    触发器执有一些限制:

    1. 触发器不能使用CALL 语句来将数据返回给客户端或使用动态SQL的存储过程。但允许存储过程通过OUT或INOUT 参数将数据返回到触发器 。

    2. 触发不能使用事务相关的语句,如 START TRANSACTION,COMMIT或ROLLBACK。因为触发器对update,delete,insert等事件做了处理,并且是按照before,SQL语句,after的顺序来执行的,一旦某一步出错,就会回滚数据。如果在触发器中使用事务,就会产生矛盾。

     

     

    参考文章:

    https://juejin.im/post/58819729b123db75e08eeae1

     

    转载于:https://www.cnblogs.com/thomson-fred/p/10188362.html

    展开全文
  • 我在编写触发器时遇到困难,该触发器将等级列设置为最大等级值加1对于一组用户ID.也许代码比我的描述更有帮助:CREATE TABLE `saved_listing` (`saved_listing_id` int(10) NOT NULL auto_increment,`user_id` int(10...

    我在编写触发器时遇到困难,该触发器将等级列设置为最大等级值加1对于一组用户ID.也许代码比我的描述更有帮助:

    CREATE TABLE `saved_listing` (

    `saved_listing_id` int(10) NOT NULL auto_increment,

    `user_id` int(10) NOT NULL default '0',

    `listing_id` int(10) NOT NULL default '0',

    `listing_ty` varchar(10) NOT NULL default '',

    `notes` text NULL,

    `rank` int(10) NOT NULL default '0',

    `modify_by` int(10) NOT NULL default '1',

    `modify_dt` timestamp NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

    `create_by` int(10) NOT NULL default '1',

    `create_dt` datetime NOT NULL default '0000-00-00 00:00:00',

    `active` enum('Yes','No') NOT NULL default 'No',

    PRIMARY KEY (`saved_listing_id`)

    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;

    这是我的触发器代码:

    CREATE TRIGGER ins_saved_listing BEFORE INSERT ON saved_listing

    FOR EACH ROW BEGIN

    SET NEW.create_dt = NOW();

    SET NEW.rank = (SELECT MAX(rank) + 1 FROM saved_listing WHERE user_id = NEW.user_id);

    END

    这是我得到的错误消息:

    1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 3

    任何帮助将不胜感激.我没有太多编写触发器的经验.

    MySQL服务器版本:5.1.49-3~bpo50 1

    展开全文
  • mysql 触发器

    2020-09-22 18:59:32
    业务场景描述: 根据 code 统计表 test_a 中的数据,计算数量,实时同步到表 test_b 中,即 有多少个相同的 code ; 例如,表test_a 中存在 code=SG_0001的4条数据,在test_b 记录SG_0001的数量,并根据test_a 表中...

    业务场景描述:

    根据 code 统计表 test_a 中的数据,计算数量,实时同步到表 test_b 中,即 有多少个相同的 code ;
    

    例如,表test_a 中存在 code=SG_0001的4条数据,在test_b 记录SG_0001的数量,并根据test_a 表中的数量变化而变化;
    表:test_a

    id	name	code	create_time			update_time		delete_flag
    1	苹果	  SG_0001	2020-09-22 18:43:14	2020-09-22 18:43:14	0
    2	苹果	  SG_0001	2020-09-22 18:43:39	2020-09-22 18:53:40	0
    3	苹果	  SG_0001	2020-09-22 18:54:00	2020-09-22 18:54:04	0
    4	苹果	  SG_0001	2020-09-22 18:54:00	2020-09-22 18:54:04	0
    

    表:test_b

    	id  name	code	code_count
    	1	苹果  	SG_0001		4
    

    触发描述:

    1 表 test_a 在做【新增】操作【后】,计算code在表 test_a 的数量同步更新到表 test_b 中的数量属性;
    2 表 test_a 在做【更新】操作【后】,计算code在表 test_a 的数量同步更新到表 test_b 中的数量属性;
    3 表 test_a 在做【删除】操作【后】,计算code在表 test_a 的数量同步更新到表 test_b 中的数量属性;
    

    创建表【test_a】SQL

    CREATE TABLE `test_a` (
    	  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据主键',
    	  `name` varchar(255) NOT NULL COMMENT '姓名',
    	  `code` varchar(255) NOT NULL COMMENT '代码',
    	  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    	  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    	  `delete_flag` tinyint(2) NOT NULL DEFAULT '0' COMMENT '删除标识,0:正常,1:删除',
    	  PRIMARY KEY (`id`),
    	  KEY `idx_code` (`code`) USING BTREE
    	) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

    创建表【test_b】SQL

    CREATE TABLE `test_b` (
    	  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据主键',
    	  `name` varchar(255) NOT NULL COMMENT '姓名',
    	  `code` varchar(255) NOT NULL COMMENT '代码',
    	  `code_count` int(11) NOT NULL DEFAULT '0' COMMENT '数量',
    	  PRIMARY KEY (`id`)
    	) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

    在表【test_a】上创建【新增】操作触发器

    CREATE TRIGGER `after_insert` AFTER INSERT ON `test_a` FOR EACH ROW BEGIN
    			DECLARE dataCountA INT;
    			DECLARE dataCountB INT;
    			DECLARE dataCode VARCHAR(255);
    			DECLARE dataName VARCHAR(255);
    			SET dataCode = new.code;
    			SET dataName = new.name;
    			IF (dataCode IS NOT NULL ) THEN
    				-- 1 统计a表中数量
    				SET dataCountA = (SELECT COUNT(code) FROM test_a WHERE code = dataCode AND delete_flag = 0);
    				-- 1 根据code 查询b表中是否存在
    				SET dataCountB = (SELECT COUNT(code) FROM test_b WHERE code = dataCode);
    				IF (dataCountB > 0) THEN
    					-- 更新
    					UPDATE test_b SET code_count = dataCountA WHERE code = dataCode;
    				ELSE
    					INSERT INTO test_b(name, code, code_count) VALUES(dataName, dataCode, dataCountA);
    				END IF;
    			END IF;
    		END;
    

    在表【test_a】上创建【更新】操作触发器

    CREATE TRIGGER `after_update` AFTER UPDATE ON `test_a` FOR EACH ROW BEGIN
    		DECLARE dataCountA INT;
    		DECLARE dataCountB INT;
    		DECLARE dataCode VARCHAR(255);
    		DECLARE dataName VARCHAR(255);
    		SET dataCode = new.code;
    		SET dataName = new.name;
    		IF (dataCode IS NOT NULL ) THEN
    			-- 1 统计a表中数量
    			SET dataCountA = (SELECT COUNT(code) FROM test_a WHERE code = dataCode AND delete_flag = 0);
    			-- 1 根据code 查询b表中是否存在
    			SET dataCountB = (SELECT COUNT(code) FROM test_b WHERE code = dataCode);
    			IF (dataCountB > 0) THEN
    				-- 更新
    				UPDATE test_b SET code_count = dataCountA WHERE code = dataCode;
    			ELSE
    				INSERT INTO test_b(name, code, code_count) VALUES(dataName, dataCode, dataCountA);
    			END IF;
    		END IF;
    	END;
    

    在表【test_a】上创建【删除】操作触发器

    CREATE TRIGGER `after_delete` AFTER DELETE ON `test_a` FOR EACH ROW BEGIN
    		DECLARE dataCountA INT;
    		DECLARE dataCountB INT;
    		DECLARE dataCode VARCHAR(255);
    		DECLARE dataName VARCHAR(255);
    		SET dataCode = old.code;
    		SET dataName = old.name;
    		IF (dataCode IS NOT NULL ) THEN
    			-- 1 统计a表中数量
    			SET dataCountA = (SELECT COUNT(code) FROM test_a WHERE code = dataCode AND delete_flag = 0);
    			-- 1 根据code 查询b表中是否存在
    			SET dataCountB = (SELECT COUNT(code) FROM test_b WHERE code = dataCode);
    			IF (dataCountB > 0) THEN
    				-- 更新
    				UPDATE test_b SET code_count = dataCountA WHERE code = dataCode;
    			ELSE
    				INSERT INTO test_b(name, code, code_count) VALUES(dataName, dataCode, dataCountA);
    			END IF;
    		END IF;
    	END;
    
    展开全文
  • MySQL触发器如何正确使用 2010-05-18 15:58 佚名 博客园 字号:T | T ...我们今天主要向大家介绍的是MySQL触发器进行正确使用,其中包括对MySQL触发器发...以下的文章主要描述的是如何对MySQL触发器进行正确使...
  • Mysql触发器的定义和使用简要描述

    千次阅读 2018-03-14 18:44:42
    触发器(TRIGGER)是MySQL的数据库对象之一,从5.0.2版本开始支持。该对象与编程语言中的函数非常类似,都需要声明、执行等。但是触发器的执行不是由程序调用,也不是由手工启动,而是由事件来触发、激活从而实现...
  • 下面的文章主要描述的是MySQL触发器的正确创建步骤,MySQL触发器的删除,你如果对MySQL触发器的正确创建步骤,MySQL触发器的删除有兴趣的话你就可以点击以下的文章进行观看了。 1、创建MySQL触发器: 语法: ...
  • 下面的文章主要描述的是mysql触发器的正确创建步骤,MySQL触发器的删除,你如果对MySQL触发器的正确创建步骤,MySQL触发器的删除有兴趣的话你就可以点击以下的文章进行观看了。 1、创建MySQL触发器: 语法: ...
  • mysql 触发器简单应用

    2020-01-05 22:35:03
    需求描述 工作遇到一个这样的需求有两个表一个是用户基本信息表里面有一个字段是是否结婚。一个是家庭关系表里面有孩子表、配偶表、父母表等与用户有关系的信息用一个字段relative 区分。当你删除你的配偶的时候,...
  • MySQL触发器(转载)

    2018-12-28 09:43:00
    似乎在《高性能MySQL》中,对触发器作了一定的描述,也提到使用中的一些优势和局限性,但感觉还是不能完全理解触发器的全部功能和实现。于是自己在网上看了一些文章,结合官网...
  • 摘要:以下的文章主要介绍的是MySQL触发器的正确创建步骤,以及MySQL触发器的删除,以下就是具体内容的描述,希望在你今后的学习中会有所帮助。 标签:MySQL触发器 下面的文章主要描述的是MySQL触发器的正确...
  • navicat+MySQL触发器创建

    2020-05-23 16:53:09
    更加详细介绍参考下面这篇博客,这里描述创建过程 https://www.cnblogs.com/geaozhang/p/6819648.html 设计表—》触发器 需要注意的是触发器的定义需要以begin开头、end结尾如下: BEGIN 执行语句列表 END; ...
  • 然后在A表创建一个触发器,在'delete'之前,执行插入数据,把要删除的数据插入另一个表中。这可行吗?要怎么实现? 还有什么更好的方法可以实现? 刚学数据库,不太会,可能描述不清楚,谢谢各位大牛抽出时间解答。
  • Mysql触发器实例

    千次阅读 2009-08-05 17:28:00
    任务描述:有2张表:表1:device, 里面有最主要的2个字段(id, device_type, .....),表明了"设备类型"与"ID";表2:alarm_information,记录了每种设备的告警信息,其中有2个主要字段(id, device_type, ....); ...
  • 题目描述构造一个触发器audit_log,在向employees_test表中插入一条数据的时候,触发插入相关的数据到audit中。CREATE TABLE employees_test( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ...
  • 当然也可以通过程序就能很简单得实现,只是这个字段只是数业务描述如下:Oracle下插入一个表的时候,需要根据一个字段的值更新另一个字段的值。当然也可以通过程序就能很简单得实现,只是这个字段只是数据交换用,和...
  • Trigger双击:Create Trigger(位置在右上角)后图下图所示NameTrigger的名字Expression添加Trigger表达式,双击add后添加Multiple PROBLEM events generationDescription对trigger的描述URLServerity...
  • check the manual that corresponds to your MySQL server version for the right syntax to use near 'END IF; END' at line 5 我把其中的 IF ... END IF; 片段去掉后,触发器可以生成,加上 IF... END IF; 片段...
  • 问题描述:在一个表中插入一条数据时,同时想更新这条数据 错误写法: create table t1 ( a int(11), b int(11) ) CREATE TRIGGER trigger BEFORE INSERT ON t1 FOR EACH ROW BEGIN update t1 set new.a=1; ...
  • 新建触发器目的:在表中某行数据修改时,自动将字段version的值加1; TRIGGER创建: CREATE TRIGGER test AFTER UPDATE ON tb_strategy FOR EACH ROW BEGIN UPDATE tb_strategy SET version = version + 1 WHERE ...
  • 问题描述:一张表中有 a=1 b=1 c=1,当a或b字段有更新时,将c改为2 触发器: CREATE TRIGGER trigger_name BEFORE UPDATE ON tableName FOR EACH ROW BEGIN IF ( old.a != new.a ) OR ( old.b != new.b ) THEN ...
  • 题目描述构造一个触发器audit_log,在向employees_test表中插入一条数据的时候,触发插入相关的数据到audit中。CREATE TABLE employees_test(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,...
  • mysql触发器

    2017-06-09 12:01:57
    一、触发器的作用监视某种情况并触发某种操作备注:我在网上也看了很多概念性的东西,但是感觉比较啰嗦,我感觉运维人员只要能大体上把这个用简短的话描述出来就可以了。下面是我在网上找的触发器的作用1.安全性。...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 184
精华内容 73
关键字:

mysql触发器描述

mysql 订阅