欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

将mssql数据对应转换到mysql

程序员文章站 2022-04-22 19:10:30
...
一.我就职于一个小公司,每天的工作是维护网站正常运行,改写网站的小bug,以及配合老板每个"灵光乍现"的创意,今天老板需要将原来一个ASP的网站搬迁到新购入的php系统中,于是就产生了2个问题

1.将mssql数据库转换成mysql

2.将某些表中的字段内容重新写入新系统表字段中

二.

将mssql数据库转换到mysql中,有现成的工具,所以这一步还算比较简单.我使用的工具是mss2sql,用之前baidu写入速度过慢,经过本人测试(经过本人使用确实非常慢,劝告数据库很庞大的同学,请勿使用)过程中遇到了有一个表无法转换,于是我打开表查看,发现一个字段的内容存在★,经过对比新系统该字段应该可以舍弃,遂全文替换掉,再来一次,搞定.

接下来我将导入好的数据库中表与新系统的数据库中表进行对照,舍弃一些不用的表,将有用的表导出,并插入到新系统的数据库中.

好了,至此为止一切还比较顺利将mssql数据对应转换到mysql

接下来在不引入框架的情况下,我自己写了一段php程序来帮我将旧数据库的内容,插入新数据库的对应表中.

首先

$mysql_server_name=""; //数据库服务器名称
$mysql_username=""; // 连接数据库用户名
$mysql_password=""; // 连接数据库密码
$mysql_database=""; // 数据库的名字

// 连接到数据库
$c $mysql_username,$mysql_password);

// 从表中提取信息的sql语句
$strsql="SELECT * from
{表名} where {查询条件} ";
// 执行sql查询
mysql_select_db($mysql_database, $conn);
$result=mysql_query($strsql, $conn);
// 获取查询结果

$num=0;
while($row = mysql_fetch_array($result)){
//var_dump($row);
//转译特殊字符
$row['字段名']=addslashes($row['字段名']);//某些字段中含有单引号、双引号等 特殊字符需要转译
//合成查询语句(由于新系统是多表关联的,所以要拆分语句)
$strsql="INSERT INTO `表名` VALUES (字段值(必须对应,并且注意添加单引号,我在这里卡了很久明明感觉都对的但是就是不能执行,就是缺少了单引号))";
$strsql1="insert into {表名} (字段名) values (字段值')";
//echo($strsql);
// 执行sql查询
$result1=mysql_query($strsql1, $conn);
$next=mysql_query($strsql, $conn);
var_dump($num++);
}
// 释放资源
mysql_free_result($result);
// 关闭连接
mysql_close($conn);
echo "执行完毕";//由于php无法观察执行过程,所以我添加了结束标记

自此,所用工作就是重复的了,本人才疏学浅若有什么疏漏,或者错误,希望大神们能批评指正,谢谢到家

以上就介绍了将mssql数据对应转换到mysql,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。