mysql触发器获取当前数据_如何获取所有MySQL触发器以及仅适用于当前数据库的触发器...

要获取所有MySQL触发器,以下是语法-select trigger_schema,trigger_name from information_schema.triggers;

让我们实现以上语法以获取所有触发器名称以及模式-mysql> select trigger_schema,trigger_name from information_schema.triggers;

这将产生以下输出-+----------------+---------------------------------+

| TRIGGER_SCHEMA | TRIGGER_NAME                    |

+----------------+---------------------------------+

| sys            | sys_config_insert_set_user      |

| sys            | sys_config_update_set_user      |

| business       | binsertTrigger                  |

| business       | insertBef                       |

| business       | Table1Trigger                   |

| test           | insertingTrigger                |

| sample         | InsertPrevent_TriggerDemo       |

| sample         | InsertPreventTrigger            |

| sample         | before_Client_insert            |

| sample         | enforce_phone_check             |

| sample         | default_current_year            |

| sample         | restrictUpdateDemo              |

| web            | lowerCaseOnInsertDemo           |

| web            | preventing_to_insert_zero_value |

+----------------+---------------------------------+

14 rows in set (0.00 sec)

如果只希望当前数据库触发器,则可以使用以下查询。假设当前数据库是“网络”-mysql> use web;

Database changed

mysql> show triggers;

这将产生以下输出-+---------------------------------+--------+--------------+-----------------------------------------------------------------------------------------------------------------------------+--------+------------------------+--------------------------------------------+---------+----------------------+----------------------+--------------------+

| Trigger                        | Event   | Table        | Statement                                                                                                                   | Timing | Created | sql_mode | Definer | character_set_client | collation_connection | Database Collation |

+---------------------------------+--------+--------------+-----------------------------------------------------------------------------------------------------------------------------+--------+------------------------+--------------------------------------------+---------+----------------------+----------------------+--------------------+

| lowerCaseOnInsertDemo         | INSERT | demotable222 | SET NEW.StudentSubject = LOWER(NEW.StudentSubject) | BEFORE | 2019-06-01 15:53:09.29 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | root@% | utf8 | utf8_general_ci | utf8_unicode_ci |

| preventing_to_insert_zero_value | INSERT | DemoTable | begin

if(new.Value = 0) then SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'You can not provide 0 value';

END if;

end | BEFORE | 2019-07-07 18:03:41.65 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | root@% | utf8 | utf8_general_ci | utf8_unicode_ci |

+---------------------------------+--------+--------------+-----------------------------------------------------------------------------------------------------------------------------+--------+------------------------+--------------------------------------------+---------+----------------------+----------------------+--------------------+

2 rows in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值