我正在尝试制作一个日期时间字段,仅当某个字段发生更改时,该字段才会自动更新为当前时间。
看来我有语法错误。我尝试last_progress_date
获取progress_percentage
更新/编辑的日期:
CREATE OR ALTER TRIGGER last_progress_date
ON wp_task_mgr
AFTER UPDATE
AS BEGIN
IF UPDATE (progress_percentage)
SET last_progress_date = GETDATE()
END
Run Code Online (Sandbox Code Playgroud)
该代码看起来不像有效的 Mysql 代码:
ALTER
不是一个有效的选项AS
在 Mysql 中没有IF UPDATE(column)
UPDATE(column)
测试列是否在 SQLServer 中更新,而不是在 Mysql 中IF
语法无效(检查https://dev.mysql.com/doc/refman/5.5/en/if.html)BEFORE
触发器中正在修改的记录的值,而不是AFTER
. 你需要类似的东西
drop trigger if exists last_progress_date;
delimiter //
CREATE TRIGGER last_progress_date BEFORE UPDATE ON wp_task_mgr
FOR EACH ROW
BEGIN
--assuming progress_percentage is not nullable; if it is, the condition
-- needs to be modified to properly handle NULL values
IF (NEW.progress_percentage != OLD.progress_percentage)
THEN
SET NEW.last_progress_date = GETDATE();
END IF;
END;
//
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20543 次 |
最近记录: |