寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

mysql数据库表A中某列update更新至表B中某列

大概需求是这样的,有两个表,tablea和tableb,他有相同的id,现在需要将表A中的fielda数据更新至表B中的fielda列,换句话说,要更新表B中的fieldb列,其数据来源于表A的fielda列。貌似mysql不支持update select这种,下面是解决方案:


update tableb b,(select b.id as aid,a.fielda as fieldc
from tablea a,tableb b
where a.id=b.id
group by aid) c
set b.fieldb=c.fieldc
where b.id=c.aid 
经测试,运行正常。数据表如下:
 
表A数据结构及数据如下:
CREATE TABLE IF NOT EXISTS `tablea` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fielda` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

INSERT INTO `tableb` (`id`, `fielda`) VALUES
(1, 2),
(2, 2),
(3, 2),
(4, 3),
(5, 5),
(6, 10),
(7, 4),
(8, 50);
表B数据结构及数据如下:

CREATE TABLE IF NOT EXISTS `tableb` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fieldb` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

INSERT INTO `tableb` (`id`, `fieldb`) VALUES
(1, 1),
(2, 1),
(3, 1),
(4, 1),
(5, 1),
(6, 1),
(7, 1),
(8, 1);
经过执行文中解决方案的sql命令,B表的fieldb中的数据变为与A表一致。

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
php用fsockopen()函数实现模拟提交表单。
php curl利用嘀咕、搜狐微博API发布微博
开个淘宝网店买充值卡
excel表格中页码从第n页开始
EMlog再次升级了
pdf、word、txt、excel等文档转flash(swf)软件—虚拟打印机FlashPaper
夏普sharp ar-2918 显示小人和小太阳灯一直亮清除方法
PHP 获取系统信息,PHP 获取服务器详细信息
windows xp win7双系统引导wubi安装ubuntu linux
摸死你个性签名集合
文章推荐
请不要奇怪,为什么最近博客的文章是几年前的内容
Win10更新后不显示文字
PHP实现远程下载,并显示实时下载进度
开篇第一章
随机推荐
php遍历文件夹读取文件夹中图片并分页显示图片
Microsfot .NET Framework 4安装未成功解决方法
一款绝佳的IM即时通软件MirandaIM
网站模板对SEO(搜索引擎优化)的影响
是否我们都老了?
html 5学习-video标签插入视频
博客备案通过
简单的一个asp的分页程序
接相关部门通知,本站暂时作关闭评论处理
写篇日志
友情连接
春燕网络