Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
插入和更新触发器后的MySQL_Mysql - Fatal编程技术网

插入和更新触发器后的MySQL

插入和更新触发器后的MySQL,mysql,Mysql,我有一个表test1,表中有id、name、designation和salary列。我想将插入test1的每条记录插入test2,并更新test1中更新的test2中的每条记录。您必须创建两个触发器,一个在更新时触发,另一个在插入时触发,尚未对其进行测试,但类似的操作就可以了 CREATE TRIGGER new_row_added AFTER INSERT ON test1 FOR EACH ROW UPDATE test2 SET name=NEW.name, desig

我有一个表test1,表中有id、name、designation和salary列。我想将插入test1的每条记录插入test2,并更新test1中更新的test2中的每条记录。您必须创建两个触发器,一个在更新时触发,另一个在插入时触发,尚未对其进行测试,但类似的操作就可以了

CREATE TRIGGER new_row_added 
AFTER INSERT ON test1
FOR EACH ROW 
  UPDATE test2
      SET name=NEW.name, designation=NEW.designation,salary=NEW.salary
      WHERE id=NEW.id ;

CREATE TRIGGER ins_sum AFTER UPDATE ON test1
    FOR EACH ROW
    BEGIN
        IF NEW.ts <> OLD.ts THEN  
            INSERT INTO test2 (name, designation,salary) 
            VALUES(NEW.name, NEW.designation,NEW.salary);
        END IF;
    END;
CREATE TRIGGER new\u row\u添加
在test1上插入之后
每行
更新test2
集合名称=新建。名称,名称=新建。名称,薪资=新建。薪资
其中id=NEW.id;
在test1上更新后创建触发器INSU sum
每行
开始
如果是新的,那么是旧的
插入测试2中(姓名、职务、薪水)
值(新名称、新名称、新工资);
如果结束;
终止

好的,然后在谷歌上搜索mysql的创建触发器语法并试一试。其实我是mysql新手,这和MSSQL相比要复杂得多真的吗?我的印象是,MySQL总体上比SQLServer容易得多。而且该手册比SQL Server好上千倍,而且对某些东西不熟悉也不能成为懒惰的借口。你应该学会如何提问。这个链接可能会有所帮助:@fancyPants,公平地说,存储例程和触发器的文档是MySQL文档中最薄弱的部分。一个人必须阅读许多不相关的页面才能理解如何编写触发器。我不想在更新后插入记录,只想在test2中更新记录