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