如何从(tb2)插入(tb1)具有特定多个where子句的另一个表

时间:2018-01-12 11:18:18

标签: mysql

我在下面使用此查询示例插入第1行--3000 ++行:

INSERT INTO _tb_email_kirul SELECT * FROM tb_email_1708 WHERE card_no = '4890-8700-5889-4693';
INSERT INTO _tb_email_kirul SELECT * FROM tb_email_1708 WHERE card_no = '4890-8700-5712-0546';
INSERT INTO _tb_email_kirul SELECT * FROM tb_email_1708 WHERE card_no = '4890-8700-5566-8710';
INSERT INTO _tb_email_kirul SELECT * FROM tb_email_1708 WHERE card_no = '4890-8700-5262-5382';
INSERT INTO _tb_email_kirul SELECT * FROM tb_email_1708 WHERE card_no = '4890-8700-5879-5643';
INSERT INTO _tb_email_kirul SELECT * FROM tb_email_1708 WHERE card_no = '4890-8700-5247-8618';
+++++

我已尝试从1 - 3000 ++插入数据,需要1小时才能完成。

此查询可以采用单个查询还是比查询更快?

感谢。

1 个答案:

答案 0 :(得分:0)

使用IN组合查询。

INSERT INTO _tb_email_kirul
SELECT * FROM tb_email_1708
WHERE card_no IN ('4890-8700-5889-4693', '4890-8700-5712-0546',... )