您的位置:首页 > 数据库

wex5 教程 之 图文讲解 智能数据库设计 之(1) 触发器

2016-11-26 09:20 246 查看
一:设计需求:

        智能数据库设计,其实没有这个说法,只是由于我设计视频播族器的需要,对数据库的设计有一些智能化的需求。

       目的有三个:

       1.减少前台后端操作数据库代码量

       2.数据库操作失败可以回滚。保证数据库的完整,正确。

       3.充分利用数据库性能。

        今天用到的是触发器

        例子是我之前的一个设计要求,在戏曲管理后台把热门戏曲的id添加到热门表之后,戏曲表里相应的字段自动填充hot标记为1。以往的设计是在前台对表操作,今天用触发器的功能监控操作表自动填充字段。简单理解就是,用触发器监控一个表的变化,来修改另一个表。

二:效果演示:

       1.复制需要设置为热门的戏曲id

         


       2.把id粘贴到hot管理的id表里,确定

        


      3. hot表id更新

        


       4.chinese表hot字段自动填充;

         


 三.代码逻辑与实现:

      数据库写入操作,对于wex5来说相对简单,这里只说触发器的使用与注意事项

      1.创建触发器:

        在wex5提供的heidiSQL数据库管理工具里,用右键。

      


        2 .编写sql语句

          


          说明:1.名称,即触发器名称。在表,即监控表是哪个表。

                     2 事件,触发器类型根据事件有三类,即增加,删除,修改:insert,delete,updata.

                                  根据执行顺序有前:before,后:after.

                       组合之后即有6种触发器类型。

                    3.update chinese set chinese.carousel=true where ID=new.chineseID;

                       chnese 为要修改的表,set chinese.corousel 为要修改的表时的字段,where ID=new.chineseID为条件.new.chineseID为监控表时新写入的字段值。             old.chineseID为监控表修改之前的值。这是触发器特性,大大减少了前后端的判断与数据操作。

        注意事项:1.触发器监控表不能监控自已写自已。即只能修改别的表。

                          2.mysql中用到了delimiter分隔符,在HeidiSql中不需要。写了反而不能执行。

 

                      

         

            

          

       

      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息