触发器中的MySql错误语法

时间:2015-07-17 09:20:21

标签: mysql syntax triggers

我在MySQL触发器中遇到语法问题,我没有找到问题。

CREATE DEFINER=`root`@`localhost` TRIGGER `after_insert_product` 
BEFORE INSERT ON `ps_product_lang` FOR EACH ROW 
BEGIN 
IF (NEW.id_shop =1 AND NEW.id_lang = 1) 
THEN 
    DECLARE a TEXT; 
    DECLARE b TEXT; 
    DECLARE c TEXT; 
    SET a = '<p style="text-align: justify;"> <span style="font-size: large;"> <span class="mcePageBreak">'; 
    SET b = CONCAT(a,NEW.name); 
    SET c = '</span> </span> </p>'; 
    SET NEW.description = concat(b,c); 
END IF; 
END

MySQL说:

  

1064 - 附近的Synthax错误宣告文字; DECLARE b TEXT - lign 4

我只是从BEGIN键入END,声明由phpMyAdmin生成,我在面板上。它的工作没有IF条件。

1 个答案:

答案 0 :(得分:0)

(代表OP发布):

我必须从stock ={ 'code': ['1942', '1942', '1942', '1942'], 'high': [782, 771, 764, 765], 'date': ['2015-07-15', '2015-07-14', '2015-07-13', '2015-07-10'], 'close': [780, 768, 763, 753], 'open': [767, 770, 756, 762] } new_list = [] min_length = min([len(stock[prop]) for prop in stock]) for x in range(min_length): new_prop = {} for prop in stock: new_prop[prop] = stock[prop][x] new_list.append(new_prop) print new_list 结构中声明变量,它现在可以正常工作。