MySQL技巧之跨服务器数据查询:基础篇-更新语句如何写
上一篇已经描述:借用微软的SQL Server + ODBC 即可实现MySQL跨服务器间的数据查询。
 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的连接名: MY_ODBC_MYSQL
 以及用同样的方法,做的另一个连接名 MY_ODBC_MYSQL2
还实现了第一次查询,在MS SQL Server打开一个新查询,输入以下脚本:
 SELECT Q.country_code, Q.country_name
 FROM OPENQUERY(MY_ODBC_MYSQL, ’
 SELECT country_code, country_name FROM country
 WHERE Code = ‘‘IR’’
 ') AS Q
跨服务器的查询语句已经学会了,跨服务器的更新语句又该如何写呢?
 更新会复杂一些,我摸着石头过河,你搭着我肩膀过河吧。
 假设我想把安道尔的country_type 改为C
 
 UPDATE OPENQUERY(My_ODBC_MYSQL,
 ’ SELECT country_code, country_name, country_type FROM country
 WHERE country_code = ‘‘AD’’ ')
 SET country_type = ‘C’
 WHERE country_code = ‘AD’
 
 注意:OPENQUERY函数内参数是不支持动态参数的。所以对于小表来说,其实就是把记录取过来更新。
 ’ SELECT country_code, country_name, country_type FROM country WHERE country_code = ‘‘AD’’ ’ 这部分应该包含主键及要修改的字段。
 请记住以上套路,特别注意单引号的个数。这里为什么是二个单引号?
妙!高!实在是高!
 加粉丝看
 MySQL技巧系列之《未经证实的葵花宝典》:一篇可以当饭吃的MySQL文章,值得收藏
总结:借用微软的SQL Server + ODBC 即可实现MySQL跨服务器间的数据查询。使用UPDATE OPENQUERY(…),实现跨服务器间记录更新。
