sql 触发器
先来看一个简单的触发器:
CREATE TRIGGER "update_user"
AFTER UPDATE OF "id", "name", "account", "password", "createdAt"
ON "user"
BEGIN
UPDATE user SET updatedAt = STRFTIME('%s', 'now')*1000 WHERE id = user.id;
END
这个触发器的意思是: 1,CREATE TRIGGER “update_user” 触发器的名字是:update_user;
2,AFTER UPDATE OF “id”, “name”, “account”, “password”, “createdAt” 当 “id”, “name”, “account”, “password”, "createdAt"这些字段被更新后
其中触发时机有:AFTER (之后),BEFORE(之前),INSTEAD OF(替代) 触发方式:INSERT(插入)、DELETE(删除)、UPDATE OF(更新),只有跟新需要在后面填写字段名,另外两个不需要。
3,ON “user” 该触发作用与哪个表
4,BEGIN…END 中间写触发之后需要执行哪些sql语句,我这里写的是更新user表的updatedAt字段的值为当前的时间戳。 其中WHERE id = user.id确保只更新当前记录的updatedAt。
navicat创建触发器
1,选择触发器,右键新建,根据自己需求填写相关配置 2,写触发的sql语句,我这里的意思是,当触发时,更新users表的update字段,使之等于当前的时间戳,其中 where id = users.id保证只更新当前记录的updateAt。 3,保存即可,可以通过修改我们第一步设置的那几个字段,触发更新updateAt的操作。
|