网站数据从ORACLE迁移到MYSQL教程
  • 更新时间:2024-09-27 15:29:34
  • 网站建设
  • 发布时间:1年前
  • 279

网站(www.tlkjt.com)整体改版升级。因为希望降低网站的运营成本,所以考虑换数据库,从原来的企业级数据库ORACLE换成比较小的MYSQL。数据库变更中的一个重要过程是网站数据迁移。我在数据迁移过程中遇到了一些问题,花了很长时间才解决。今天就对网站后台数据库建设中需要注意的问题进行分析总结。1、不同数据库的个别数据类型定义不同

改库测试过程中,发现网站上一篇文章详情页的文章发表时间有问题,年月日时:分格式异常。

通过查看页面调用文件代码、数据库记录等,发现ORACLE中时间的定义类型只有Date,该定义类型的格式包括年、月、日、时间;而在MYSQL中,时间的定义类型包括Date、Time和Datetime。在MYSQL中,Date类型的定义只有年月日,没有时间。

要解决这个问题,只能将MYSQL数据库表中创建的字段类型由原来的Date改为Datetime,然后重新导入该类型的数据。

总结:不同的数据库对具体的类型有不同的定义。因此,在完成新的数据库表结构组件后,最好迁移少量数据记录进行数据测试,以便及时发现问题和修改数据类型,然后再迁移所有数据。以免造成数据重复导入,增加工作量。2、不同数据库对大小写区分不同

数据库迁移测试时,发现通过网站后台管理系统添加的文章不正常,会出现错误信息。通过调用数据库的文章SiteArticle表的记录,发现新文章对应的记录条目没有正常插入。

通过代码测试检查,发现网页文件的代码与数据库操作的表名大小写不一致。 ORACLE数据库具有良好的容忍度,支持插入SiteArticle表的网页文件的insert into Sitearticle()代码。记录操作;而MYSQL数据库区分大小写,只支持insert into SiteArticle()代码向SiteArticle表中插入新记录。

要解决这个问题,只能仔细查看网页文件的源代码,将所有操作数据库的语句的数据库名、表名、字段名等的字符大小写都改掉,并保持与在数据库中创建的名称的大小写。

总结:从兼容性的角度来看,在建站的时候,要规范数据库操作相关代码的大小写。在以后更换或升级数据库的过程中,无需担心区分大小写的问题,可以减少很多代码改动。工作量。3、不同数据库对保留字的要求不同

数据库迁移过程中,发现统一大小写问题后,文章提交时关键字标签的记录插入仍然失败,报错提示是语法错误。

经过排查,发现是保留字在耍花招。 ORACLE数据库对保留字的态度比较宽容,表名和字段名都可以使用保留字;而MYSQL数据库规定,保留字不能作为表名和字段名。网站数据库Sitearticle 表中的一个字段名为show,这是一个保留字。所以MYSQL数据库也创建好后,插入新记录时会报语法错误。

为了解决这个问题,需要在网页代码中用``符号(即1键前面的键输入的符号)将代码语句中Sitearticle表的show字段名括起来,以区分它。

总结:不同的数据库对保留字的要求不同。因此,无论当前数据库类型版本是否支持,在建站数据库时尽量不要使用保留字作为字段名和表名,以保证后续数据库版本升级更换后的正常运行。

本文发表于北京网站制作公司推来客http://www.tlkjt.com/

我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!

本文章出于推来客官网,转载请表明原文地址:https://www.tlkjt.com/web/13240.html
推荐文章

在线客服

扫码联系客服

3985758

回到顶部