我有两个表,如:
表格1:
|A|B|C|D|E|F|G|H|I|J|
Run Code Online (Sandbox Code Playgroud)
表2:
|A|C|D|E|G|H|J|K|L|M|N|O|P|
Run Code Online (Sandbox Code Playgroud)
我必须将一些列从表2复制到表1。我尝试的是:
INSERT INTO `table 1` (`C`,`D`,`E`,`G`,`J`)
SELECT `C`,`D`,`E`,`G`,`J` FROM `table 2` WHERE
`table 1`.`A` = `table 2`.`A`;
Run Code Online (Sandbox Code Playgroud)
但结果:
#1054 - Unknown column 'table 1.A' in 'where clause'
Run Code Online (Sandbox Code Playgroud)
错误在哪里?有人能帮我吗?
我的错误是我不必插入新行,而是更新匹配列A的行...必须以哪种方式编辑查询?谢谢!
尝试这个::
INSERT INTO `table1` (`C`,`D`,`E`,`G`,`J`) VALUES
(SELECT `C`,`D`,`E`,`G`,`J` FROM `table2` WHERE
`table1`.`A` = `table2`.`A`);
Run Code Online (Sandbox Code Playgroud)
编辑::
如果您只需要更新,则::
update table1
inner join table2 on table1.A = table2.A
set
table1.C=table2.C,
table1.D=table2.D,
table1.E=table2.E,
table1.G=table2.G,
table1.J=table2.J
WHERE 1=1
;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10724 次 |
最近记录: |