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

MSSQL
正确配置和使用SQL mail
关于DTS导入导出丢失默认值等对象
TOP N 和SET ROWCOUNT N 哪个更快
如何在视图中使用ORDER BY短语
如何区分大小写比较?
如何将作为字符串保存的IP地址变为二进制数值?
如何随机选取n条记录或者对记录作随机排序?
SQL脚本生成的一些BUG
如何使Microsoft SQL Server的日志文件不会增大?
利用事务日志来恢复Update、Delete误操作引起的数据丢
关于MSSQL占用过多内存的问题
SQL Server非正常删除日志文件(ldf)恢复方法
处理孤立用户的存储过程
1069错误(由于登录失败而无法启动服务)解决方法
SQL Server 7.0数据库的六种数据移动方法
利用SQL Server的扩展属性象access一样显示列的注释
Stored Procedure(存储过程)编写经验和优化措施
更新你的联机丛书
关于SQL Server中几个未公布的访问注册表的扩展存储过
存储过程替换text,ntext列中的字符串

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 298 ::
收藏到网摘: 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

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