MYSQL给ID设置默认值为UUID

标签: mysql  id  触发器  默认值

 

          由于mysql并不支持默认值为函数类型,给id设值有两种方式:(1)通过后台在执行插入语句之前,给id设置为UUID (2)在数据库中通过触发器给id设置默认值为UUID。第(1)方式比较简单,这里就不多说了,主要讲讲通过触发器来实现的过程。

1.怎样创建触发器

  1.  
    create trigger 触发器的名称

  2.  
    触发时机 触发事件 on 要建立触发器的表名

  3.  
    for each ROW

  4.  
    BEGIN

  5.  
    触发器要实现的逻辑

  6.  
    END

(1)触发时机,表示在事件触发前执行还是触发后执行,所以有两个可选值,before和after

(2)触发事件,也就是说,什么情况下,这个触发器才会执行,可以是在插入数据的时候insert,或者是在更新数据的时候update,或者是在删除数据的时候delete,一共是3种触发时机

 

2.通过触发器给id设置默认值为UUID

  1.  
    create trigger id_trigger

  2.  
    before insert on t_student_course

  3.  
    for each ROW

  4.  
    BEGIN

  5.  
    SET new.ID=REPLACE(UUID(),‘-‘,”);

  6.  
    END

简单解释一下:

(1)id_trigger就是触发器的名字

(2)before就是触发时机,表示每次插入新数据之前执行触发器

(3)insert就是触发事件,表示插入数据的时候触发

(4)t_student_course就是要建立触发器的表名

(5)SET new.ID=REPLACE(UUID(),’-‘,”);就是触发器实现的逻辑功能,也就是给id设置默认值为UUID,这里的new,代表即将插入的数据。这里其实可以写一些判断,什么情况下执行什么之类的。

3.效果

可以看到,在表t_student_course中,已经建立了触发器,下面新增一条记录测试一下:

我测试是可以的,有兴趣的可以自己测试一下。

 
版权声明:本文为qiuxinfa123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qiuxinfa123/article/details/103440957

原文地址:http://www.cnblogs.com/sexintercourse/p/16879218.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性