发表于: 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博客里面那样。然而我在日报编辑器里面没找着。。
评论