2014-07-24 51 views

回答

0

insert into用于“复制”+ Where clause仅用于获取“复制”的一个版本。

INSERT INTO tableB (A, B, C, Version) VALUES 
    (SELECT * FROM tableA WHERE tableA.Version = 1); 
+0

我已经知道了。但是,如果我想在该组值中增加1,该怎么办? – user3874774

+0

如果您不介意设置[sqlfiddle](http://sqlfiddle.com/),我可以很快为您解答问题。 –

+0

我不介意。现在让我来做 – user3874774

0
INSERT INTO b(a, b, c, version) 
    SELECT a, b, c, version + 1 
    FROM a 
    WHERE version = 1 

会工作。当然,由于你的WHERE条款限制你刚刚行,其中version = 1,你可以只使用一个硬编码到您的SELECT

INSERT INTO b(a, b, c, version) 
    SELECT a, b, c, 2 
    FROM a 
    WHERE version = 1