PostgreSQL update from other table
2016-07-20 22:36
435 查看
情景
系统因为某个bug,有一张业务表的数据字段为空,实际情况下会通过程序代码在运营人员操作成功后自动从另外的一张基础信息表拷贝数据到此表。因为写入的时候没做处理,导致上百个此字段为空。需要DBA执行SQL进行数据填补。
SQL很简单,就是数据来自sc_commodities表(t1),通过t1表的id与sc_stocks表的commodity_id关联,然后更新条件是当commodity_name为空的记录.
参考资料:
UPDATE
系统因为某个bug,有一张业务表的数据字段为空,实际情况下会通过程序代码在运营人员操作成功后自动从另外的一张基础信息表拷贝数据到此表。因为写入的时候没做处理,导致上百个此字段为空。需要DBA执行SQL进行数据填补。
#postgresql UPDATE sc_stocks SET commodity_name = t1.name FROM sc_commodities AS t1 WHERE sc_stocks.commodity_id=t1.id and sc_stocks.commodity_name='';
#mysql 版 #复制字段tpl_detail到tpl_detail_src update templates tpl, templates as src set tpl.tpl_detail_src=src.tpl_detail where tpl.id = src.id
SQL很简单,就是数据来自sc_commodities表(t1),通过t1表的id与sc_stocks表的commodity_id关联,然后更新条件是当commodity_name为空的记录.
参考资料:
UPDATE
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复