当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySql教程:两个表之间更新数据

MYSQL
轻松接触MaxDB和MySQL之间的协同性
快速解决 MySQL中与浮点比较有关的问题
细化解析:Mysql数据库对文件操作的封装
在MySQL数据库中如何修改密码及访问限制
带你深入了解MySQL语句优化的基本原则
详细讲解如何为MySQL数据库添加新函数
如何解决MySQL的客户端不支持鉴定协议
教你快速掌握更改表中列顺序的好方法
解决MySQL 5.0不能使用自动增加字段问题
讲解MySQL数据库字符集出错的解决方法
如何实现My SQL中的用户的管理问题
教你快速掌握 MySQL数据库中触发器的应用
将数据从MySQL迁移到 Oracle的注意事项
正确认识MySQL对服务器端光标的限制
MySQL的存储过程写法和"Cursor"的使用
怎样才能解决MySQL 5.0.16的乱码问题
MySQL存储过程SAVEPOINT ROLLBACK to
提高MySQL数据库查询效率的三个实用技巧
在MySQL数据库中如何来复位根用户的密码
带你轻松接触MaxDB和MySQL之间的协同性

MYSQL 中的 MySql教程:两个表之间更新数据


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 172 ::
收藏到网摘: n/a

有两个表,结构如下:

a(id,sex,email,public)

b(id,depart,salary)

由于需求改变,要为 b 也增加一个 public 字段,并且和 a 表中 id 相同的记录中的 public 的值相同。

加一个字段比较容易,直接 alter就行了,但是表间更新数据以前没做过,就google 之,结果发现很多人都是这么写的:

UPDATE b SET public=a.public FROM a WHERE b.id=a.id

但是在Mysql 下面死活不好使,总是提示有错误,后来查了一下资料,发现 mysql 不支持 update 里面有 from 子句,网上很多人写的可能都是针对 sqlserver 或其他数据库的。改写SQL 如下:

UPDATE b,a SET b.public=a.public WHERE b.id=a.id

学到一点东西,记录在此。