## Workbench创建触发器在新增、修改时自动注入uuid及时间戳

Workbench创建触发器在新增时自动注入uuid及时间戳

当我在java中厌烦了每做一个save操作就需要给reference注入一个uuid的时候就想着能不能在数据库里搞个触发器自动帮我搞定这件事情。果然懒才是创造的原动力,哈哈。为了偷懒才会去研究各种各样的办法。

-- before insert
	IF (NEW.`reference` IS NULL or NEW.`reference`='') THEN
		SET NEW.`reference` = REPLACE(UUID(),"-","");
    END IF;
	IF (NEW.`made` IS NULL ) THEN
		SET NEW.`made` =CURRENT_TIMESTAMP ;
    END IF;

--before update
	IF (NEW.`modify` IS NULL ) THEN
		SET NEW.`modify` =CURRENT_TIMESTAMP ;
    END IF;

上面insert是使用触发器给新数据注入uuid及给创建时间戳注入一个新的时间戳
下面是修改时给修改时间戳字段注入一个新的时间戳
上面的uuid我对-进行了处理,看着-有点碍眼就把它给去除了。
如果想用原始的uuid

	IF (NEW.`reference` IS NULL or NEW.`reference`='') THEN
		SET NEW.`reference` = UUID();
    END IF;

workbench6.0的童鞋觉得这样太麻烦也可以使用默认值加入这句话:ON UPDATE CURRENT_TIMESTAMP()来对修改时间戳字段赋予默认值,对于创建时间可以用CURRENT_TIMESTAMP来对创建时间戳赋值,不过升到8.0直接不能使用属性来做默认值,workbench会自动帮你转换为函数,有点恶心。CURRENT_TIMESTAMP在6.0版本也会出现时灵时不灵的现象,个人建议使用触发器,一步搞定。

记录点滴,重在参与。
转载请注明出处,谢谢!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL Workbench可以通过以下步骤创建触发器: 1. 打开MySQL Workbench并连接到您的数据库。 2. 在左侧面板中,选择您要创建触发器的数据库。 3. 在顶部菜单中,选择“Database”>“Create Trigger”。 4. 在弹出窗口中,输入触发器的名称和描述。 5. 选择触发器要应用的表和触发器类型(例如,BEFORE INSERT,AFTER UPDATE等)。 6. 编写触发器的SQL语句,并在“Trigger Body”字段中输入。 7. 单击“Apply”以保存触发器。 请注意,创建触发器需要一定的SQL知识和对数据库结构的理解。如果您不确定如何编写触发器,请咨询专业人士或参考MySQL官方文档。 ### 回答2: MySQL Workbench是一款可视化的数据库管理工具,可以通过它创建数据库、表、视图、存储过程、触发器等。本文将重点介绍如何在MySQL Workbench创建触发器触发器是一种特殊的存储程序,它可以在特定的操作(如INSERT、UPDATE、DELETE)发生自动执行一些操作。以下是在MySQL Workbench创建触发器的步骤: 1. 打开MySQL Workbench并连接到需要创建触发器的数据库。 2. 在左侧的Schema面板中选择要创建触发器的表。 3. 在表的属性面板中选择“Triggers”。 4. 点击“Add Trigger”按钮,弹出新建触发器对话框。 5. 在对话框中输入相应的触发器名称和使用的事件。例如,可以选择在INSERT、UPDATE或DELETE执行触发器触发器还可以在执行之前或之后触发,可以根据实际情况选择。 6. 编写触发器代码。触发器代码可以包含任何有效的SQL语句,例如SELECT、INSERT、UPDATE、DELETE等。此外,还可以使用一些特殊的关键字和函数,如OLD和NEW。其中,OLD表示旧的列值,NEW表示新的列值。例如,可以使用OLD.price表示触发操作之前的价格,使用NEW.price表示触发操作之后的价格。 7. 点击“Apply”按钮保存触发器。如果触发器代码没有错误,则会在Schema面板中看到新的触发器。 需要注意的是,在编写触发器之前,应该仔细考虑触发器的实际作用和效果。触发器可能会对数据库性能产生影响,因此应该尽量避免编写复杂的触发器代码或者在频繁执行的表上创建触发器。同,也应该对触发器代码进行测试,以确保它们能够按照想要的方式工作。 ### 回答3: MySQL Workbench是MySQL的一个可视化工具,让用户能够通过可视化界面轻松地创建修改和管理MySQL数据库。在MySQL Workbench中,创建触发器也是一件非常简单的事情。 创建触发器需要以下几个步骤: 1. 打开MySQL Workbench并连接到所需的MySQL服务器。 2. 选择所需的数据库,并单击右键,选择“Create Trigger”选项。如果您需要在表上创建触发器,那么请先选择表并前往“Table Inspector”窗口。 3. 在“Create Trigger”窗口中,填写触发器的名称、类型、触发事件等信息。例如,您可以选择触发器类型为“BEFORE”、“AFTER”或“INSTEAD OF”。 4. 编写触发器语句。在触发器语句中,您需要定义触发器在何何种情况下会触发以及触发后会发生什么。例如,您可以编写一个触发器语句,在插入新数据自动将新数据的某些字段值设置为默认值。 5. 最后,单击“Apply”按钮以应用触发器并在数据库中保存触发器。如果触发器有任何错误,MySQL Workbench会在底部的消息窗口中显示错误信息,以便您可以及修复它们。 总之,使用MySQL Workbench创建触发器非常简单,只需要跟随上述步骤即可完成。通过创建触发器,您可以轻松地扩展MySQL数据库的功能,并自动完成许多重复的任务,减少了开发者的工作量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值