A|B|C|Version
1|2|3|1
1|2|3|2
我想B表是
A|B|C|Version
1|2|3|2
每一行是與A相同,除了版本會增加1 比方說,我只是想行從複製表A版本= 1。 我該怎麼做?
A|B|C|Version
1|2|3|1
1|2|3|2
我想B表是
A|B|C|Version
1|2|3|2
每一行是與A相同,除了版本會增加1 比方說,我只是想行從複製表A版本= 1。 我該怎麼做?
insert into用於「複製」+ Where clause僅用於獲取「複製」的一個版本。
INSERT INTO tableB (A, B, C, Version) VALUES
(SELECT * FROM tableA WHERE tableA.Version = 1);
我已經知道了。但是,如果我想在該組值中增加1,該怎麼辦? – user3874774
如果您不介意設置[sqlfiddle](http://sqlfiddle.com/),我可以很快爲您解答問題。 –
我不介意。現在讓我來做 – user3874774
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
你有一個PRIMARY KEY 2? – Strawberry