网站制造(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/