【问题标题】:Cannot set variable to CURRENT_DATE() in MySQL trigger无法在 MySQL 触发器中将变量设置为 CURRENT_DATE()
【发布时间】:2019-09-04 04:14:39
【问题描述】:

我正在编写一个将元组插入关系表的触发器。在此过程中,我试图使用本机 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())

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

任何帮助将不胜感激。

【问题讨论】:

  • 为什么要使用变量?

标签: mysql sql date triggers


【解决方案1】:

你是说这行不通?

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 ;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多