想要用触发器实现这样的功能,当m_customer表中插入数据时,触发触发器regsterUser,在zd_user表中插入一条数据CREATE TRIGGER regsterUser BEFORE INSERT ON m_customer FOR EACH ROW
BEGIN
insert into zd_user(user_ID,name,password)values(0,NEW.name,NEW.password);
END; 这是我在mysql下写的一个触发器,在mysql命令行下运行时老是报错
ERROR 1064 (42000): 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 'inser
t into zd_user(user_ID,name,password)values(0,NEW.name,NEW.password)' at line 3请诸位指点!谢谢

解决方案 »

  1.   


    delimiter ||
    CREATE   TRIGGER   regsterUser   BEFORE   INSERT   ON   m_customer   FOR   EACH   ROW
    BEGIN
    insert into zd_user(user_ID,name,password) values(0,NEW.name,NEW.password);
    END||
    delimiter ;
      

  2.   

    谢谢,问题已解决,这是我在EMS SQL Manager2007 下写的
    CREATE TRIGGER `m_customer_before_ins_tr` AFTER INSERT ON `m_customer`
      FOR EACH ROW
    BEGIN
    declare 
         num int;   
        select count(*) into num from zd_user where NAME=NEW.name; 
        IF num=0      THEN
        insert into zd_user(name,password)values(NEW.name,NEW.password); 
       END IF ;
    END;用不习惯命令行,delimiter ||两个竖杠是什么意思啊?