【问题标题】:MySql error syntax in trigger触发器中的 MySql 错误语法
【发布时间】:2015-07-17 09:20:20
【问题描述】:

我在 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 - 'DECLARE a TEXT; 附近的 Synthax 错误;声明 b 文本 - 木质 4

我刚刚从BEGIN 输入到END,声明是由phpMyAdmin 生成的,我在面板上。它可以在没有 IF 条件的情况下工作。

【问题讨论】:

  • 在触发器顶部声明
  • 您需要描述问题所在,例如错误信息是什么?

标签: mysql syntax triggers


【解决方案1】:

(代表 OP 发布):

我必须从if 结构中声明变量,它现在可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    相关资源
    最近更新 更多