book表和book_update表都建立了,并且字段没有问题
CREATE
    TRIGGER `dlht`.`update_book_insert_book_update` AFTER UPDATE 
    ON `dlht`.`book`
    FOR EACH ROW
         BEGIN
    IF NEW.book_name<>OLD.book_name THEN
    insert into book_update values(1,OLD.book_id,OLD.book_name,NEW.book_name,now());
            END IF;
    IF NEW.book_author<>OLD.book_author THEN
    insert into book_update values(2,OLD.book_id,OLD.book_author,NEW.author,now());
    END IF;
          END;

解决方案 »

  1.   

    语法上没有问题,如果book_name、book_author不同的话,有条记录。
      

  2.   

    语法上没有问题,如果book_name、book_author不同的话,有两条记录。 
    具体有什么问题
      

  3.   

    编译都通过不了`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 'IF NEW.book_name<>OLD.book_name
               insert into book_update values(1,OLD' at line 5
      

  4.   

    DELIMITER $$CREATE
        /*[DEFINER = { user | CURRENT_USER }]*/
        TRIGGER `test`.`dd` AFTER UPDATE
        ON `test`.`ttg`
        FOR EACH ROW BEGIN
    iF NEW.book_name <>OLD.book_name THEN
        insert into book_update values(1,OLD.book_id,OLD.book_name,NEW.book_name,now());
                END IF;
        IF NEW.book_author <>OLD.book_author THEN
        insert into book_update values(2,OLD.book_id,OLD.book_author,NEW.author,now());
        END IF; 
        END$$DELIMITER ;
    在MYSQL5.1。17+SQLYOG下没有问题