创建将 UNIX_TIMESTAMP() 插入日志表的触发器
Posted
技术标签:
【中文标题】创建将 UNIX_TIMESTAMP() 插入日志表的触发器【英文标题】:creating trigger inserting UNIX_TIMESTAMP() to a log table 【发布时间】:2012-11-09 06:08:19 【问题描述】:您好,我坚持使用此触发器向我的日志表插入值的语法。使用 phpmyadmin 中的 sql 选项卡,在执行 sql 语句之前出现错误
`#1064 - You have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near '' at line 8 `
这是我创建触发器的sql语句
CREATE TRIGGER after_insert_list
AFTER INSERT ON list FOR EACH ROW
BEGIN
INSERT INTO log (user_id, action, date_log)
VALUES (
NEW.user_id,
NEW.action,
UNIX_TIMESTAMP()
);
END
【问题讨论】:
您确定要先更改分隔符吗? @Jack 你能解释一下吗?我有点困惑。顺便说一句,我在网络 tuts net.tutsplus.com/tutorials/databases/… 上关注本教程 您可以在manual中找到有关分隔符的信息 好的,谢谢我检查一下 【参考方案1】:按如下方式创建触发器:
delimiter |
CREATE TRIGGER testref
BEFORE INSERT ON test1FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END;
|
delimiter ;
【讨论】:
以上是关于创建将 UNIX_TIMESTAMP() 插入日志表的触发器的主要内容,如果未能解决你的问题,请参考以下文章
使用“WHERE UNIX_TIMESTAMP(date)”的 SQL 查询的性能
如何使用 PHP 在 MYSQL 中的数据库表中插入、更新、删除记录时创建日志
如何使用 unix_timestamp 和 from_unixtime Hive 函数将数据类型更改为时间戳
查询失败时如何将 query_id 和 query_text 插入日志表