一个选择中的两个独特插入

时间:2016-08-13 16:30:33

标签: mysql sql sql-insert

我正在使用InnoDB / memcache作为未处理行的临时持有者,并将其放入带有索引的表中(这会大大减慢初始负载,我们需要处理峰值)。表格如下

memcached / innodb:c1 | c2 | c3 | c4

我现在需要将这些数据分成两个表,例如 u1 | c1 | c2 | c3(u1是该表的auto_inc生成的新唯一ID) u1 | c4(u1从上一个表复制,所以它是相同的)

1 个答案:

答案 0 :(得分:1)

我首先插入第一个表,然后查询它以插入第二个表:

INSERT INTO t1 (c1, c2, c3) -- u1 is left out, so it can be generated
SELECT c1, c2, c3
FROM   INPUT

INSERT INTO t2 (u1, c4)
SELECT t1.u1, input.c4
FORM   t1
JOIN   t1.c1 = input.c1 AND
       t1.c2 = input.c2 AND
       t1.c3 = input.c3