为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】:DM Database Server 64 V8 DB Version: 0x7000d 03134284368-20250430-272000-20149 【操作系统】:Win11 【CPU】: 【问题描述】*: TIMESTAMP字段已经兼容on update语法,为什么我设置不了,一个一个表设置触发器太繁琐了
写了个测试脚本,你看看是否能正常用起来,如果能行,那就不用走触发器了。
--测试表 DROP TABLE IF EXISTS T_TMTST; CREATE TABLE T_TMTST ( A INT, B INT, UPDATE_TIME TIMESTAMP ); --初始数据 INSERT INTO T_TMTST(A,B,UPDATE_TIME) VALUES(1,2,SYSTIMESTAMP) ,(3,4,SYSTIMESTAMP); COMMIT; --先查看数据内容 SELECT * FROM T_TMTST --用ALTER TABLE为 UPDATE_TIME 字段设置默认值和ON UPDATE更新内容 ALTER TABLE T_TMTST MODIFY UPDATE_TIME TIMESTAMP NOT NULL DEFAULT LOCALTIMESTAMP(6) ON UPDATE LOCALTIMESTAMP(6); --插入新记录 INSERT INTO T_TMTST(A,B) VALUES(55,66),(787,88); COMMIT; --查看新插入记录的UPDATE_TIME字段内容是否正确 SELECT * FROM T_TMTST --更新一条记录 UPDATE T_TMTST SET B = B * 2 WHERE A = 3; COMMIT; --查看更新记录的UPDATE_TIME字段内容是否正确 SELECT * FROM T_TMTST
写了个测试脚本,你看看是否能正常用起来,如果能行,那就不用走触发器了。
--测试表 DROP TABLE IF EXISTS T_TMTST; CREATE TABLE T_TMTST ( A INT, B INT, UPDATE_TIME TIMESTAMP ); --初始数据 INSERT INTO T_TMTST(A,B,UPDATE_TIME) VALUES(1,2,SYSTIMESTAMP) ,(3,4,SYSTIMESTAMP); COMMIT; --先查看数据内容 SELECT * FROM T_TMTST --用ALTER TABLE为 UPDATE_TIME 字段设置默认值和ON UPDATE更新内容 ALTER TABLE T_TMTST MODIFY UPDATE_TIME TIMESTAMP NOT NULL DEFAULT LOCALTIMESTAMP(6) ON UPDATE LOCALTIMESTAMP(6); --插入新记录 INSERT INTO T_TMTST(A,B) VALUES(55,66),(787,88); COMMIT; --查看新插入记录的UPDATE_TIME字段内容是否正确 SELECT * FROM T_TMTST --更新一条记录 UPDATE T_TMTST SET B = B * 2 WHERE A = 3; COMMIT; --查看更新记录的UPDATE_TIME字段内容是否正确 SELECT * FROM T_TMTST