簡體   English   中英

MySQL根據另一個日期值插入日期值-觸發器

[英]MySQL insert date value depending on another date value - trigger

我有一個帶有時間計划的表:例如:一個月,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在plan.user_id = l.user_id和plan.codtimp = l.codtimp中加入v_users_planificare計划set activ = 1其中DATE_ADD( data_start ,INTERVAL 1 MONTH)<= NOW()和data_start> = NOW()

作品

更新planificare_leg l在plan.user_id = l.user_id和plan.codtimp = l.codtimp中加入v_users_planificare plan set activ = 1其中DATE_ADD( data_start ,INTERVAL valoare_durata fel_durata )<= NOW()和data_start> = NOW()

不起作用

啊,想念父母

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM