将根据搜索条件过滤的行从一个表复制到MySQL中的另一个表

时间:2019-06-14 14:28:34

标签: mysql copy filtering

使用MySQL,我想从表A中检索所有行,例如,一个字段包含“ EQ”,将它们复制到表B(具有完全相同的字段),然后从表A中删除它们。

我听说了触发器。那是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

  1. 您需要2条SQL语句。首先是将数据行从A插入到B,然后从A删除这些行。

    INSERT  INTO B
    SELECT  *
    FROM    A
    WHERE   Field LIKE '%EQ%';
    
    DELETE  
    FROM    A
    WHERE   Field LIKE '%EQ%';
    
  2. 触发器是一种在单独表中发生某些其他活动时自动执行某些活动的方法。如果您需要确保有人在其他表上进行INSERT / DELETES / UPDATES操作后立即触发上述2个操作,则可以为此目的创建一个触发器。但是,由于您上面给出的简单要求没有任何这种依赖性,因此我认为这里不需要触发器。

如果您确实有这种依赖关系和需求,则必须在此处提供适当的要求和详细信息。