MYSQL 插入触发器(插入多个值)

标签 mysql sql

我有一个用例

表1有如下数据

**CID**  **COMPANY**
  1      CompanyA
  2      CompanyB
  3      CompanyC

表2有如下数据

  **ID****COMPANY****PERSON**
    1  CompanyB  Sachin
    2  CompanyB  Kohli
    3  CompanyC  Dhoni
    4  CompanyA  Raina
    5  CompanyA  Shikar

数据应该插入到表3中,每当表1中发生插入时,我需要根据COMPANY从表2中选择值并将数据插入到表3中,如下所示

表3

 **ID****CID****PERSON**
    1    1    Raina    
    2    1    Shikar
    3    2    Sachin
    4    2    Kohli
    5    3    Dhoni

最佳答案

您可以使用以下解决方案,使用 CREATE TRIGGER :

DELIMITER |

CREATE TRIGGER insert_table3 AFTER INSERT ON table1
    FOR EACH ROW
    BEGIN
        INSERT INTO table3 (CID, PERSON) 
            SELECT table1.CID, table2.PERSON 
            FROM table1 INNER JOIN table2 ON table1.COMPANY = table2.COMPANY 
            WHERE CID = NEW.CID
            GROUP BY table2.PERSON;
    END;
|

关于MYSQL 插入触发器(插入多个值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50561990/

相关文章:

mysql - 合并日期和时间值并将其插入到 asp.net 中的数据库中

mysql - 使用MySQL建表时出现ERROR 1064

php - WordPress 子查询在 SELECT 上返回超过 1 行

sql - 从 SQL 表中的 JSON 列检索数据

mysql - Hibernate Envers 旧的数据处理?

MySQL - 有没有办法在不编写脚本的情况下将 bin 日志位置包含在转储文件中

mysql - 获取托管在 MySQL 服务器上的数据库

mysql - 我可以在 SQL 语句中这样做吗?

sql - 为什么这个 PL/SQL 函数无法编译?

sql - Postgres : delete rows order by without primary key