将mssql数据对应转换到mysql

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

1.将mssql数据库转换成mysql 

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

二.

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

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

好了,至此为止一切还比较顺利大笑

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

首先

  $mysql_server_name=""; //数据库服务器名称
    $mysql_username=""; // 连接数据库用户名
    $mysql_password=""; // 连接数据库密码
    $mysql_database=""; // 数据库的名字
    
    // 连接到数据库
    $conn=mysql_connect($mysql_server_name, $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无法观察执行过程,所以我添加了结束标记

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值