DELIMITER $$CREATE    TRIGGER `websiteqx`.`mod_types_topic_count` DELETE
    ON `websiteqx`.`cl_topic`
    FOR EACH ROW BEGIN
UPDATE cl_types set typeid = typeid-1 WHERE typeid = old.typeid(删除那张表里的typeid);
    END$$DELIMITER ;报错:
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 'DELETE
    ON `websiteqx`.`cl_topic`
    FOR EACH ROW BEGIN
UPDATE cl_types set' at line 3 
不知道如何修改,对mysql很不了解,请各位高手多多指教。

解决方案 »

  1.   

    参考一下MYSQL手册中的例子的语法。 before delete
    delimiter |CREATE TRIGGER testref BEFORE INSERT ON test1
      FOR EACH ROW BEGIN
        INSERT INTO test2 SET a2 = NEW.a1;
        DELETE FROM test3 WHERE a3 = NEW.a1;  
        UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
      END;
    |delimiter ;当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
      

  2.   

    TRIGGER `websiteqx`.`mod_types_topic_count` DELETE ------------>TRIGGER `websiteqx`.`mod_types_topic_count` before DELETE 或TRIGGER `websiteqx`.`mod_types_topic_count` after DELETE