【问题标题】:MySQL insert date value depending on another date value - triggerMySQL根据另一个日期值插入日期值 - 触发器
【发布时间】:2013-10-06 06:01:14
【问题描述】:

我有一张时间计划表:例如:1 个月、3 个月、6 个月 我想将我的用户与此表相关联

我想创建一个触发器,根据开始日期和计划表更新我的完成日期

> CREATE TRIGGER `sum_fin`  BEFORE INSERT ON `planificare_leg`  FOR EACH
> ROW  BEGIN
>     IF NEW.`data_final` IS NULL THEN
>         SET NEW.data_final = 
> (SELECT  DATE_ADD(`data_start`,INTERVAL `valoare_durata` `fel_durata` ) as data_fin
> FROM v_users_planificare
> where codtimp = NEW.codtimp and user_id = NEW.user_id) ;
>     END IF; 
>     END;

valoare_durata 是一个包含装载数量的整数字段。例如:对于计划 3 个月,valoare_durata = 3 和 fel_durata = MONTH

sql 返回此错误:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fel_durata ) as data_fin FROM v_users_planificare where codtimp = NEW.codtimp an' at line 6

我创建了一个测试来看看会发生什么:

更新 planificare_leg l 加入 v_users_planificare 计划 plan.user_id = l.user_id 和 plan.codtimp = l.codtimp 设置激活 = 1 其中 DATE_ADD(data_start,INTERVAL 1 MONTH) = NOW()

作品

但是

更新 planificare_leg l 加入 v_users_planificare 计划 plan.user_id = l.user_id 和 plan.codtimp = l.codtimp 设置激活 = 1 其中 DATE_ADD(data_start,INTERVAL valoare_durata fel_durata) = NOW()

没用

【问题讨论】:

  • 不确定这是否适用于 MySql,但在 SQL Server 中,单引号表示一个字符串。在那里,如果您想识别字段名称,请使用双引号。

标签: mysql date triggers


【解决方案1】:

啊,少了一个括号

SET NEW.data_final = (SELECT  DATE_ADD(`data_start`,INTERVAL `valoare_durata` `fel_durata` )) as data_fin FROM v_users_planificare
                                                                                            ^

【讨论】:

  • 没有。选择来自 v_users_planificare 和 DATE_ADD(data_start,INTERVAL valoare_durata fel_durata ) 是 data_fin
  • 该死,难倒。类型值 (fel_durata) 是否允许为表达式而不是文字(DAY、HOUR、MINUTE、...)?
  • 我不知道。我该怎么做?
  • 找出 uti 是什么以及它的写法如“DATE_ADD(data_start,INTERVAL valoare_durata DAY)。见w3schools.com/sql/func_date_add.asp的类型值
猜你喜欢
  • 2011-07-29
  • 2020-07-15
  • 2014-03-19
  • 1970-01-01
  • 1970-01-01
  • 2016-04-16
  • 2016-06-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多