我正在尝试使用一个查询更改两个表中的两个值,但两个表的列名称不同。但是,它们都是主键。
到目前为止,我已经尝试了大量的代码变体,这里有一个类似的变体,用更简单的代码重写,所以我的目的更明确:
update table1, table2
set table1.entry = 5, table2.id = 5
where table1.entry and table2.id = 1;
我想要更改的两个表中的列名具有不同的名称(因此“entry”和“id”)。我知道如何在Excel中使用CONCATENATE执行此操作,但我想知道是否可以使用查询来完成此操作,可能还有JOIN?
提前致谢。
答案 0 :(得分:2)
我不确定我理解你的问题,但
呢update table1, table2
set table1.entry = 5, table2.id = 5
where table1.entry = 1 and table2.id = 1;
答案 1 :(得分:1)
由于您要更新的两个字段都是主键,因此每个表中只会更新一行,并且不需要加入:
update table1
set table1.entry = 5
where table1.entry = 1 ;
update table2
set table2.id = 5
where table2.id = 1 ;
答案 2 :(得分:0)
如果您在两个表中都有任何通用标准并且可以通过使用连接来完成,那么这很简单。 例如,假设您的两个表中都有一些公共实体,只需使用此查询,
update table1 t1 join table2 t2 on t1.commonColumn=t2.commomColumn
set t1.entry=5,t2.id=5 where t1.entry=1 and t2.id=2
希望这有帮助!