需求是,mysql一张表中同时有两个字段需要有这样的功能,当要向数据库执行 insert操作时,如果有个 timestamp字段属性设为 CURRENT_TIMESTAMP,则无论这个字段有没有set值都插入当前系统时间
遇到了这样一个错误1
2You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_TIMESTAMP,
`end_time` datetime NOT NULL CURRENT_TIMESTAMP,
原因是我使用的mysql5.5 它不支持一条sql中同时出现两个包含 CURRENT_TIMESTAMP 的语句
解决方案: 触发器
我们可以用它去监听指定的表,当表发生变化的时候,执行我们指定的操作
语法
1 | CREATE TRIGGER [自定义名字] |
原sql
1 | `start_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP, |
修改后
1 |
|