首页 > 代码库 > wex5 教程 之 图文讲解 智能数据库设计 之(1) 触发器
wex5 教程 之 图文讲解 智能数据库设计 之(1) 触发器
一:设计需求:
智能数据库设计,其实没有这个说法,只是由于我设计视频播族器的需要,对数据库的设计有一些智能化的需求。
目的有三个:
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中不需要。写了反而不能执行。
wex5 教程 之 图文讲解 智能数据库设计 之(1) 触发器