寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、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实现远程下载,并显示实时下载进度
开篇第一章
随机推荐
Opera测试wap测试日志
Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?
教训
魂斗罗大战俄罗斯方块[转]
停电
Yahoo电邮纯为鸡肋
不小心把脚给崴了
儿子高烧终于退了
常见javascript跳转方式
准备写点专业的东东
友情连接
春燕网络