【问题标题】:Update mysql table on Insert command在插入命令上更新 mysql 表
【发布时间】:2011-05-10 06:37:37
【问题描述】:

我有一种情况,我想在第一个表中插入一行数据时更新第二个表。为了实现这一点,我使用了 mysql 触发器,下面是我正在使用的查询,但它对我不起作用。

DELIMITER $$ 
CREATE TRIGGER after_insert;

AFTER INSERT ON table_first

  FOR EACH ROW BEGIN 

    INSERT INTO table_second 
      (value1, rvalue2, value3)
    VALUES 
      ('123456', '654321', 'hello trigger')

  END

DELIMITER ;

这两个表都存在于同一个数据库中。 谢谢

【问题讨论】:

    标签: mysql sql triggers


    【解决方案1】:

    一些小的语法问题......在这里:

    DELIMITER $$ 
    CREATE TRIGGER after_insert  -- remove ;
    AFTER INSERT ON table_first
      FOR EACH ROW BEGIN 
        INSERT INTO table_second 
          (value1, rvalue2, value3)
        VALUES 
          ('123456', '654321', 'hello trigger');    -- add ;
      END
    $$ -- add $$
    
    DELIMITER ;
    

    【讨论】:

    • 感谢它完美运行。现在你能再告诉我一件事吗?假设第一个表中有一个性别列,并且我希望触发器的 INSERT 查询仅在性别为“男性”时运行。我试过 IF NEW.gender=='MALE' "Do Something" END IF,但它不起作用。谢谢
    • SQL 中的相等运算符是“=”,而不是“==”...(是的,如果你最近做了一些 C/php/python/etc,你必须改变习惯)跨度>
    猜你喜欢
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    相关资源
    最近更新 更多