无法在MySQL触发器中将变量设置为CURRENT_DATE()

时间:2019-04-13 16:59:26

标签: mysql sql date triggers

我正在编写一个触发器,以将元组插入到关系表中。在此过程中,我将尝试使用本机CURRENT_DATE()函数将当前日期插入一列。我尝试了多次调用CURRENT_DATE(),但是在将日期输入到Today变量中时仍然存在一个持久性问题。 这是我的代码:

DELIMITER //
CREATE TRIGGER AjouterChose
AFTER INSERT ON UneTable
FOR EACH ROW
BEGIN
DECLARE aujourdHui DATE;
SET @aujourdHui := (SELECT CURRENT_DATE());
INSERT INTO AutreTable ER (IdProfil,Chose2,DateDebut)
VALUES (NEW.Responsable, NEW.IdChose2, @aujourdHui);
END;//
DELIMITER ;

MySQL错误消息是:

ERROR 1064(42000): You have an error in your SQL syntax; check the manual ...
for the syntax to use near ';

我尝试过:

@aujourdHui
aujourdHui
(SELECT @aujourdHui)
(SELECT aujourdHui)
CURRENT_DATE()
(SELECT CURRENT_DATE())

这些都不起作用。不知道还有什么可以尝试的。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您是说这行不通吗?

DELIMITER //

CREATE TRIGGER AjouterChose
AFTER INSERT ON UneTable
FOR EACH ROW
BEGIN
   INSERT INTO AutreTable ER (IdProfil, Chose2, DateDebut)
        VALUES (NEW.Responsable, NEW.IdChose2, CURRENT_DATE);
END;//

DELIMITER ;