sql根据一个字段更新另一字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql根据一个字段更新另一字段相关的知识,希望对你有一定的参考价值。

有两个表分别是A和B表,其中A表和B表中有一个字段X和F内容是相同的,现在需要将B表中F字段更新到A表中。

像这种情况要知道两个表是如何连接起来的才可以正常更新.现在我们知道的是A表和B表中的字段X和F内容相同,但是当A表中的字段X改变时它们就不相同了,所以这是无法更新的. 参考技术A 假设有id对应的话
update a set x=(select f from b where id=a.id)
参考技术B 在b表中查询到f字段内容,储存在一个临时变量中,然后把该变量更换a表f字段所存变量内容。 参考技术C update a set x=(select f from b)

SQL技巧两则:选择一个表的字段插入另一个表,根据其它表的字段更新本表内容

最近,在作django数据表迁移时用到的。

因为在django中,我把本来一个字符型字段,更改成了外键,

于是,哦喝~~~字符型字段相当于被删除了,

为了能导入这些字段的外键信息,于是出此下策。

其实按平滑迁移策略,

这个字符型字段应该保留,而增加外键字段。

待功能稳定之后,再删除老字符字段。

但人在公司,身不由已:

一切为了工程进度。

一,选择一个表的字段插入另一个表

insert into xxx_temp(id, deploy_status, deploy_progress) select id, deploy_status, deploy_progress from xxx_deploypool; 

 

二,根据其它表的字段更新本表内容

update xxx_deploypool d, xxx_temp p set d.env_name_id = p.env_name_id, d.deploy_status_id = p.deploy_status_id where d.id = p.id;

 

以上是关于sql根据一个字段更新另一字段的主要内容,如果未能解决你的问题,请参考以下文章

SQLSERVER如何在数据库里根据某个字段,查出该表名字

mysql如何根据一列值更新另一列的值?

sql根据一个字段日期加减7天存入另一字段中

根据另一个表中的记录更新SQL记录

SQL语句循环一张表的一个字段ID,根据这个字段的内容去修改另一张表,

SQL如何根据一个字段的某个关键词的前面部分分组查询