Mysql 在表1上插入触发器后,使用表2上的更新IF条件

Mysql 在表1上插入触发器后,使用表2上的更新IF条件,mysql,Mysql,我想在表1上创建触发器“插入后” 如果我在表1中插入记录 它将检查表2中相应的ID,并更新 表2中对应的ID。 表2有附加条件。 该ID的状态应为空 我到目前为止的努力。 但它不起作用 CREATE TRIGGER 'table1_AFTER_INSERT` AFTER INSERT ON `table1` FOR EACH ROW BEGIN update table2 a set a.status= 'coordination pass', where a.ID = new.

我想在表1上创建触发器“插入后”

如果我在表1中插入记录 它将检查表2中相应的ID,并更新 表2中对应的ID。 表2有附加条件。 该ID的状态应为空

我到目前为止的努力。 但它不起作用

CREATE  TRIGGER 'table1_AFTER_INSERT` AFTER INSERT ON `table1` FOR EACH ROW
BEGIN
  update table2 a 
  set a.status= 'coordination pass',
  where a.ID = new.ID and a.status is Null;
END 

您有许多sintax错误,如设置a.status='coordination pass'、后的逗号或触发器名称定义中的逗号等。以下是正确的触发器sintax

CREATE TRIGGER `table1_AFTER_INSERT` AFTER INSERT ON `table1`
FOR EACH ROW BEGIN

    UPDATE `table2` a 
    SET a.status= 'coordination pass'
    WHERE a.ID = NEW.ID AND a.status is NULL;

END

正如我看到的,您的触发器有两个错误,第一个是使用“单引号”的表名,第二个是设置a.status=“协调传递”,最后是逗号

CREATE TRIGGER table1_AFTER_INSERT
AFTER INSERT ON table1` 
FOR EACH ROW 
BEGIN 
   UPDATE table2 a 
   SET a.status= 'coordination pass'
   WHERE a.ID = new.ID AND a.status is Null;
END;

无错误,它不会更新另一个表中的相应ID。虽然其状态为Null,但您可以将问题编辑为可读形式。我不能编辑它,有人把它当作一个编辑器,因为我看到你的触发器有两个错误,第一个是你使用的表名
单引号,第二个是
设置a.status='coordination pass',
逗号即使在纠正语法错误后,它也不会更新目标表的状态,即使在纠正语法错误后,它不会更新目标表的状态如何在插入%后显示触发器,如“table1”\G能否提供此查询的输出即使在纠正语法错误后,它也不会更新目标表的状态1)触发器的创建是否已为您完成是的?没有任何错误?2) 现在,当您插入表1时,当前的行索引是12,比如说,表2中的行id是12,其状态未更新?