在触发器中,如何将值插入到另一个表中,但检查值是否已存在

鲍勃机

根据我在这里找到的上一篇文章,当第一个表的状态发生变化时,我无法将值插入第二个表,但是它一直在不加选择地添加,我需要检查一下commit_id是否已经插入到第二个表中,然后更新字段没有插入它的增益,我将如何执行触发器之前执行检查?因为new.status和old.status引用的是正在编辑的行,而不是它要插入的表上的行,所以我该如何进行比较并插入或更新(如果已存在),谢谢

术语

您可以INSERT INTO ... ON DUPLICATE KEY UPDATE为此使用语法

如果要使其正常工作,则必须对第二个表中的列进行UNIQUE约束submitId(将其称为students)。

ALTER TABLE students ADD UNIQUE (submitId);

现在是触发器的改进版本

DELIMITER $$
CREATE TRIGGER tg_au_submissions
AFTER UPDATE ON submissions
FOR EACH ROW
BEGIN
  IF NEW.status = 1 THEN
    INSERT INTO students (submitId, studentName, submitDate, contacts, email) 
    VALUES (NEW.submitId, NEW.studentName, NEW.submitDate, NEW.contacts, NEW.email)
    ON DUPLICATE KEY UPDATE 
      studentName = VALUES(studentName),
      submitDate = VALUES(submitDate),
      contacts = VALUES(contacts),
      email = VALUES(email);
  END IF;
END$$
DELIMITER ;

这是SQLFiddle演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将一个表中的不同值插入到另一个表中

来自分类Dev

检查值是否在另一个表中

来自分类Dev

如何使用一个按钮将值插入表并在另一个表中更新值?

来自分类Dev

如何编写将行拆分并将其插入到Oracle 11g中的另一个表的触发器

来自分类Dev

在SQL中创建一个触发器,该触发器从一个表中读取数据,并将新数据插入到另一个表中

来自分类Dev

如何将行插入到另一个工作表的列中?

来自分类Dev

SQL约束,用于检查另一个表中是否不存在值

来自分类Dev

如何编写一个触发器,该触发器可以在插入时将一个表中的新行复制到另一个表中?

来自分类Dev

如何在SQL Server中使用触发器将记录从一个表插入到另一个表?

来自分类Dev

自另一个文件以来,如何将值插入到matplotlib列表中?

来自分类Dev

如何将值插入另一个表的列中?

来自分类Dev

如何:将值插入到另一个表上的列中

来自分类Dev

创建触发器以在创建新行时将一个表中的主键插入到MySQL中另一个表的列中

来自分类Dev

将表复制到具有索引,触发器等的另一个表中

来自分类Dev

如何将另一个选择的结果插入添加了额外列值的新表中?

来自分类Dev

多次将所选值从另一个表插入到表中

来自分类Dev

如何将值从另一个表插入一个表

来自分类Dev

Oracle触发器不会在另一个表中插入值

来自分类Dev

SQL Server触发器信息插入到另一个表中

来自分类Dev

在插入MySQL触发器之后以更新值或在另一个表中插入新行

来自分类Dev

如何将表中的值添加到另一个表中?

来自分类Dev

MySQL:如果另一个表中的值为 NULL,如何将值插入到表中?

来自分类Dev

Excel:检查列中是否已存在单元格值,然后减去并显示另一个值

来自分类Dev

SQL Server 触发器将更新的行复制到另一个历史表中

来自分类Dev

为 SUM 表创建触发器并插入到另一个表中

来自分类Dev

是否可以使用触发器根据值将值从一个表插入到另一个表?

来自分类Dev

将一个表中的值插入到 SQL Server 中的另一个表中

来自分类Dev

如何通过触发器减少另一个表中的值?(MySQL)

来自分类Dev

如何将另一个表中的值插入到表中 - mysql 内连接

Related 相关文章

  1. 1

    将一个表中的不同值插入到另一个表中

  2. 2

    检查值是否在另一个表中

  3. 3

    如何使用一个按钮将值插入表并在另一个表中更新值?

  4. 4

    如何编写将行拆分并将其插入到Oracle 11g中的另一个表的触发器

  5. 5

    在SQL中创建一个触发器,该触发器从一个表中读取数据,并将新数据插入到另一个表中

  6. 6

    如何将行插入到另一个工作表的列中?

  7. 7

    SQL约束,用于检查另一个表中是否不存在值

  8. 8

    如何编写一个触发器,该触发器可以在插入时将一个表中的新行复制到另一个表中?

  9. 9

    如何在SQL Server中使用触发器将记录从一个表插入到另一个表?

  10. 10

    自另一个文件以来,如何将值插入到matplotlib列表中?

  11. 11

    如何将值插入另一个表的列中?

  12. 12

    如何:将值插入到另一个表上的列中

  13. 13

    创建触发器以在创建新行时将一个表中的主键插入到MySQL中另一个表的列中

  14. 14

    将表复制到具有索引,触发器等的另一个表中

  15. 15

    如何将另一个选择的结果插入添加了额外列值的新表中?

  16. 16

    多次将所选值从另一个表插入到表中

  17. 17

    如何将值从另一个表插入一个表

  18. 18

    Oracle触发器不会在另一个表中插入值

  19. 19

    SQL Server触发器信息插入到另一个表中

  20. 20

    在插入MySQL触发器之后以更新值或在另一个表中插入新行

  21. 21

    如何将表中的值添加到另一个表中?

  22. 22

    MySQL:如果另一个表中的值为 NULL,如何将值插入到表中?

  23. 23

    Excel:检查列中是否已存在单元格值,然后减去并显示另一个值

  24. 24

    SQL Server 触发器将更新的行复制到另一个历史表中

  25. 25

    为 SUM 表创建触发器并插入到另一个表中

  26. 26

    是否可以使用触发器根据值将值从一个表插入到另一个表?

  27. 27

    将一个表中的值插入到 SQL Server 中的另一个表中

  28. 28

    如何通过触发器减少另一个表中的值?(MySQL)

  29. 29

    如何将另一个表中的值插入到表中 - mysql 内连接

热门标签

归档