我有一個表時間planifications:例如:一個月,3個月,6個月 我想我的用戶與此表MySQL的插入日期值 - 觸發
我想創建鏈接根據開始日期和planification表
> 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
,INTERVALvaloare_durata
fel_durata
) <= NOW() and data_start >= NOW()
不起作用
不知道這是否適用於MySQL,但是在SQL Server中單引號表示字符串。在那裏,如果你想確定一個字段名稱將使用雙引號。 – asantaballa