发表于: 2017-07-04 00:11:40

1 1302


今天学习了触发器的相关内容,使之前建的表中的create_at和update_at能随记录的创建和更新而自动记录。

1.用MySQL添加触发器:(插入新纪录触发)

DELIMITER $$

CREATE TRIGGER createtime_insert_before_trigger BEFORE INSERT ON students FOR EACH ROW

BEGIN

SET NEW.create_at = UNIX_TIMESTAMP();

SET NEW.update_at = NEW.create_at;

END;

$$

DELIMITER ;

说明:

(1)MySQL中添加触发器的格式:

CREATE TRIGGER 触发器名 触发时间 触发事件 ON 表名 FOR EACH ROW

BEGIN

触发程序

END;

(2)时间函数:由于要求将create_at和update_at设为long类型,所以这里应该要获取的是从1970.1.1到触发时的秒数,即:UNIX_TIMESTAMP()函数。

  tips:也可用UNIX_TIMESTAMP(datetime)来获取指定时间对应的秒数。

(3)DELIMITER:修改命令结束标记,以避免触发程序中的分号截断代码块(报错)。


2.用Navicat添加触发器:(更新记录触发)

首先可以看到之前用MySQL语句创建的触发器已经成功添加了。

设计表>触发器>添加触发器,填写触发器名,选择触发时间、触发事件,填上触发程序即可。

3.测试:

用上个日报中的数据插入一条记录:

将宣言改为“老大最帅”:

可见,触发器已经可以正常使用了。


明天先学习索引相关知识,然后争取完成任务1_9~16。

顺便问一下,日志里怎么编辑高级格式啊?我看有人的日报里面,代码都是有特殊的格式的,就像CSND博客里面那样。然而我在日报编辑器里面没找着。。


返回列表 返回列表
评论

    分享到