来自 电脑知识 2019-11-03 03:14 的文章
当前位置: 威尼斯国际官方网站 > 电脑知识 > 正文

浅谈MySQL中的触发器

最新评论

浅谈MySQL中的触发器,浅谈MySQL触发器

在很多时候,干得利索不如想的明白。方案应该根据场景来设计,不是盲目的依靠经验,当然这也算新经验!

   需求是把公司的几套公共系统做成通过邮箱用户名和密码认证,只需记住一对用户名密码,简单为上,只允许用户在ExtMail的web页面修改密码!在做论坛认证的时候,由于论坛的复杂性,想到了如下的几个方案:

    通过OAuth2.0做认证,或者自己写接口,问题是只听过,没玩过!

    在邮箱修改时,也提交到论坛的数据库。可惜不会ExtMail的Perl代码,且修改代码工作量太大!

    先前已经把线上邮箱用户表同步到内网,可以做数据库复制,可论坛和邮箱的数据库字段有较大出入,还是要改大量代码!

    使用触发器更新论坛数据库的用户表!

       在仔细考虑过前面三种办法之后,在能力范围内,已经把PHP编写的论坛认证方式修改成适应邮箱的加盐认证方式,并测试了导入邮箱用户名和密码认证。已经修改过论坛数据库字段类型,部分后端代码!最后一步是自动把邮箱数据库的用户表变更同步到论坛数据库的用户表。

       在讨论数据库复制时,发现还是最后一种触发器的办法可行性最好,通过对论坛用户表的大多数字段设置默认值,做到只添加修改其中的账号,密码和邮件三个字段即可完成对论坛用户的操作,下面是根据实际情况编写的MySQL触发器!

       触发器添加用户

  use extmail;
  DELIMITER //
  create trigger add_bbsuser
  after insert on extmail.mailbox
  for each row
  begin
  insert into xiuno_bbs.bbs_user(username,password,email) 
   values (new.name,new.password,new.username);
  end // 
  DELIMITER ;

       触发器更新用户

  use extmail;
  DELIMITER //
  create trigger update_bbsuser
  after update on extmail.mailbox
  for each row
  begin
  update xiuno_bbs.bbs_user set username=new.name,
  password=new.password where email=new.username;
  end // 
  DELIMITER ;

       触发器删除用户

  use extmail;
  DELIMITER //
  create trigger delete_bbsuser
  after delete on extmail.mailbox
  for each row
  begin
  delete from xiuno_bbs.bbs_user where email=old.username;
  end // 
  DELIMITER ;

       我踩过的坑

       刚开始编写触发器,从网上找来的命令都不能用,完全一筹莫展之际领悟到,触发器和数据库是绑定的,必须先use extmail到要触发的extmail数据库中,才能对这个库的操作做相应的触发,后来就没有问题了!我果然是MySQL小白!

在很多时候,干得利索不如想的明白。方案应该根据场景来设计,不是盲目的依靠经验,当然这也算...

相关文章

  • 图片 1 基于Django用户认证系统详解

    下面小编就为大家分享一篇基于Django用户认证系统详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    2018-02-02

  • 图片 2 使用IPython来操作Docker容器的入门指引

    这篇文章主要介绍了使用IPython来操作Docker容器的方法,包括一些基本的搭建和连接,主要依靠docker-py模块,需要的朋友可以参考下

    2015-04-04

  • 图片 3 详解tensorflow训练自己的数据集实现CNN图像分类

    本篇文章了tensorflow训练自己的数据集实现CNN图像分类,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    2018-02-02

  • 图片 4 Python的Tornado框架异步编程入门实例

    这篇文章主要介绍了Python的Tornado框架异步编程入门实例,异步编程的思维与普通编程比起来有些不同,需要的朋友可以参考下

    2015-04-04

  • 图片 5 Python 专题三 字符串的基础知识

    在Python中最重要的数据类型包括字符串、列表、元组和字典等。本篇文章主要讲述Python的字符串基础知识。下面跟着小编一起来看下吧

    2017-03-03

  • 图片 6 python利用datetime模块计算时间差

    python中通过datetime模块可以很方便的计算两个时间的差,datetime的时间差单位可以是天、小时、秒,甚至是微秒,下面我们就来详细看下datetime的强大功能吧

    2015-08-08

  • 图片 7 python解析中国天气网的天气数据

    最近学习python 感觉这门脚本语言十分灵活 而且功能十分强大 尤其是他re库用于正则匹配十分强大,写了个例子解析中国天气网

    2014-03-03

  • 图片 8 python解决汉字编码问题:Unicode Decode Error

    最近在利用python读取一个含有汉字的文档时导致出现了乱码,并报出了两个错误,无奈只能上网找寻答案,后通过网友的帮助解决了这个问题,想着总结一下,下面这篇文章就主要介绍了python如何解决汉字编码问题,有需要的朋友们可以参考借鉴。

    2017-01-01

  • 图片 9 浅析Python的web.py框架中url的设定方法

    web.py是Python的一个轻量级Web开发框架,这里我们来浅析Python的web.py框架中url的设定方法,需要的朋友可以参考下

    2016-07-07

  • 图片 10 python入门之语句(if语句、while语句、for语句)

    这篇文章主要介绍了python入门之语句,主要包括if语句、while语句、for语句的使用,需要的朋友可以参考下

    2015-01-01

本文由威尼斯国际官方网站发布于电脑知识,转载请注明出处:浅谈MySQL中的触发器

关键词: