网站制造(www.sino-web.net)集体改版进级,因为想要下降网站运转成本,考虑调动数据库,由原来的企业级数据库ORACLE调动为较为小型的MYSQL,数据库的调动中的一个重要过程就是网站的数据迁徙。在数据迁徙过程中碰到一些成就并花了较长的时分处置,来日诰日就说明总结下网站的布景数据库构建中需求器重的成就。
1、分歧数据库的一般数据范例界说分歧
在数据库调动的测试过程中,发明网站以往的文章概况页面的文章颁发时分表现有成就,
高端SEO优化公司,非一样往常花样的年—月—日时:分的款式。
颠末页面调取文件代码、数据库记载等内容的搜检后,发明是因为ORACLE中对时分的界说范例只需Date一种,而这类界说范例的花样搜罗年月日和时分;而在MYSQL中对时分的界说范例包括Date、Time、Datetime三种,在MYSQL中对Date范例的界说仅仅包括年月日而不包括时分。
要处置这个成就,只能把MYSQL数据库表中创立的字段范例由原来的Date改成Datetime,再从新举办这类数据的导入。
小结:分歧的数据库对详细范例界说分歧,是以在完成新数据库表组织构件后,最好举办大批数据记载条迁徙举办数据测试,可以或许及时发明成就所在并举办数据范例修改,再举办悉数数据的迁徙,以避免组成数据重复导入,增加事情量。
2、分歧数据库对巨细写辨别分歧
在数据库迁徙测试过程中,发明经由过程网站布景治理系统增加的文章出现非常情况,会出现报错信息。经由过程调取数据库的文章SiteArticle表的记载发明新文章对应的记载条未能一样往常拔出。
经由过程代码测试搜检发明,是因为网页文件的代码对数据库的把持的表名字巨细写不分歧组成的,ORACLE数据库具有较好的包涵度,撑持网页文件关于insert into Sitearticle()代码对SiteArticle表的拔出新记载把持;而MYSQL数据库对巨细写敏感,只撑持insert into SiteArticle()代码对SiteArticle表的拔出新记载把持。
要处置这个成就,只能细心检查网页文件源码,变动对数据库把持的全部语句的数据库名、表名、字段名等的字符巨细写,坚持与数据库中创立称号的巨细写分歧。
小结:从兼容性角度考虑,在网站扶植的时分就尺度数据库把持相关代码中的巨细写成就,在今后改换数据库或进级数据库的过程中,就没必要忧虑巨细写敏感度成就,也增加很多变动代码事情量。
3、分歧数据库对保存字的要求分歧
在数据库迁徙过程中,发明在同一了巨细写成就后,提交文章时分关键字标签的记载拔出照旧失利,报错信息提醒为语法过错。
颠末排查,发明是保存字在捣鬼。在ORACLE数据库中对保存字的态度是较为宽容的,可以或许表名和字段称号都可以或许利用保存字;而MYSQL数据库划定保存字是不克不及够作为表名和字段名的。在网站的数据库Sitearticle表中的其中一个字段名为show,属于保存字,是以一样树立在MYSQL数据库后,拔出新记载报语法过错。
处置这个成就,需求在网页代码中将代码语句中的关于Sitearticle表的show字段名用``标记(即1按键后面的按键输入的标记)惹起来以不同。
小结:分歧数据库对保存字的要求分歧,以是在网站数据库扶植的时分不论以后数据库范例版本是否是撑持,尽能够不消保存字作为字段名和表名,以保证后期数据库版本的进级和换取后运转一样往常。
本文颁布于北京网站制造公司尚品中国http://www.sino-web.net/

免责声明:本文内容由互联网用户自发贡献自行上传,本网站也不承担相关的法律责任。如果您发现本文章中有涉嫌抄袭的内容,请发送邮件至:sales@sznetsoft.com或者至电给本网站进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权的内容。