0

時間計画を含むテーブルがあります: 例: 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

私は何が起こるかを見るためにテストを作成しました:

update planificare_leg l join v_users_planificare plan on plan.user_id = l.user_id and plan.codtimp = l.codtimp set activ = 1 where DATE_ADD( data_start,INTERVAL 1 MONTH) <= NOW() and data_start >= NOW()

作品

しかし

update planificare_leg l join v_users_planificare plan on plan.user_id = l.user_id and plan.codtimp = l.codtimp set activ = 1 where DATE_ADD( data_start,INTERVAL valoare_durata fel_durata) <= NOW() and data_start >= NOW()

動作しません

4

1 に答える 1