PS:之前是用MS-SQL的,现在尝试MYSQL我是用WampServer自带的PHPMyAdmin来做数据库的。
在写触发器时,不能同时写2行或以上的SQL语句,调用2句或以上的存储过程也不行,是语法书写问题,弄不清楚,麻烦各位指点迷津~谢谢!代码如下:
CREATE DEFINER = `root`@`localhost` TRIGGER `Books_CountUpdate_Trigger` BEFORE INSERT ON `chapters`
FOR EACH
ROW CALL Books_ChapterCountUpdate(
new.BookID
);
CALL Books_WordCountUpdate (
new.BookID.new.ChapterWordCount
)错误提示如下SQL 查询:CALL Books_WordCountUpdate(
new.BookID.new.ChapterWordCount
)MySQL 返回:文档
#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 '.ChapterWordCount
)' at line 2 

解决方案 »

  1.   

    delimiter //
    CREATE DEFINER = `root`@`localhost` TRIGGER `Books_CountUpdate_Trigger` BEFORE INSERT ON `chapters`
    FOR EACH ROW 
    begin
    CALL Books_ChapterCountUpdate(
    new.BookID
    );
    CALL Books_WordCountUpdate (
    new.BookID.new.ChapterWordCount
    );
    end//delimiter ;
      

  2.   


    我尝试过了~不行,是什么问题?
    #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 '.ChapterWordCount ); end' at line 8
      

  3.   

    CALL Books_WordCountUpdate (
    new.BookID.new.ChapterWordCount
    );
    注意符号书写。
      

  4.   

    DELIMITER $$
    CREATE TRIGGER `Books_CountUpdate_Trigger` BEFORE INSERT ON `chapters`
    FOR EACH ROW 
    BEGIN
    CALL Books_ChapterCountUpdate(new.BookID);
    CALL Books_WordCountUpdate (new.BookID,new.ChapterWordCount);
    END$$
    DELIMITER ;