我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle移植到MySQL需要注意哪些问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle移植到MySQL需要注意哪些问题

这篇文章主要介绍“Oracle移植到MySQL需要注意哪些问题”,在日常操作中,相信很多人在Oracle移植到MySQL需要注意哪些问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle移植到MySQL需要注意哪些问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  客户用的数据库是MySQL(和PHP搭配之最佳组合),而研发好的产品支持Oracle(大型网站数据库平台),为了让客户掏腰包,我们必须把数据库环境从Oracle(大型网站数据库平台)转向MySQL数据库。

  Oracle移植到MySQL需要注意什么

  一、数据库环境从Oracle(大型网站数据库平台)转向MySQL(和PHP搭配之最佳组合)碰到的问题。

  因为逻辑不变,所以原则是不改应用程序代码,只改数据库表的创建/初始化sql。下面是我们碰到的问题以及解决办法。

  1、大小写敏感的区别(如果服务器OS是linux)。

  在Oracle(大型网站数据库平台)中一般情况下不区分大小写。有时候我们在使用Oracle(大型网站数据库平台)不注意大小写的问题,表名和字段名不加双引号是不区分大小写的,像这样:insertintotableName和insertintoTABLENAME效果是一样的,用工具导出创建/数据初始化脚本,得到的结果一般表名和字段名转化成了大写。

  但在MySQL(和PHP搭配之最佳组合)中,所使用操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性。数据库对应数据目录中的目录,数据库中的每个表至少对应数据库目录中的一个文件(也可能是多个,取决于存储引擎)。因此,使用数据库或表实际上是操纵这些文件(夹),所以使用操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性。在以linux为内核的操作系统中是大小写敏感的。

  解决的办法是把MySQL数据库名和Oracle(大型网站数据库平台)的大小写保持一致,表名与应用程序中sql字符串中的表名保持一致,如果应用程序中字段名用了双引号,那请把sql中的字段名大小写与双引号里的字符保持一致。如果你的应用程序所引用的表名、字段没有统一大小写,那麻烦就大了。

  2、保留字的区别。

  像sql语言的函数名(如:inteval,show)等是保留字。Oracle(大型网站数据库平台)中保留字是可以作为表名和字段名,并且不影响使用,但MySQL(和PHP搭配之最佳组合)中保留字是不能作为表名和字段名,如果使用会报语法错误。

  解决办法,把sql语句中的保留字用‘`’符号引起来,这个符号位于键盘的tab键上面;如果是字段名还有另外一种方法tablename.字段名。像这样:insertintotablename(id,`interval`)value(…..或insertintotablename(id,tablename.inteval)value(…..。

  3、数据类型的区别。

  在MySQL(和PHP搭配之最佳组合)中没有像Oracle(大型网站数据库平台)中的varchar2、number,MySQL(和PHP搭配之最佳组合)有与之对应的varchar、numeric,当然在Oracle(大型网站数据库平台)中没有MySQL(和PHP搭配之最佳组合)的time类型。

  解决办法是替换。

  4、自动增长类型的区别。

  Oracle(大型网站数据库平台)有sequence,MySQL(和PHP搭配之最佳组合)中没有,但有auto_increment属性。

  解决办法是把Oracle(大型网站数据库平台)中sequence转换成使用auto_increment属性,某些情况可能还有一种办法可以解决问题,新建一个独立的表用来专门记录自动增长型的数据。

  5、索引长度限制的区别。

  从MySQL(和PHP搭配之最佳组合)4.1.2开始,MyISAM和InnoDB表索引长度支持1000字节,也就是说索引字段的长度不能超过1000字节,如果超过会报这样的错:ERROR1071(42000):Specifiedkeywastoolong;maxkeylengthis1000bytes。如果是UTF-8编码,相当于333个字符的长度(因为UTF8一个字符占3个字节)。Oracle(大型网站数据库平台)的索引长度限制比MySQL数据库要宽松得多。

  解决的办法就不必要多说了,要么改索引的定义,要么改字段的定义长度。

  二、为了数据库的兼容性我们应该注意些什么。

  数据库的兼容性应该是数据库设计应该重视的一个问题,因为有时候客户存在已经在用的数据库,并且不希望同时维护两个数据库,这样的话兼容多种数据库还能成为产品的一个卖点。

  作到数据库的兼容性关键是遵守标准用法。

  1、遵守标准用法,尽量不使用某种数据库特有的用法。

  如msyql的‘`’符号的用法,再比如,很多人有这种用法,在使用Oracle(大型网站数据库平台)开发的时候创建sequence,往表中插数据之前先SELECTseq.nextvalFROMDUAL;,然后把查询得到的值作为value插入表中,这种用法没法适应没有sequence的数据库,每个数据库都有自动增长型的用法,如果需要使用就应该完全地使用。

  再举个例子,不同的数据库对分页查询作了扩展,postgresql有offset,limit,Oracle(大型网站数据库平台)就没有。

  2、避免数据库大小写敏感的问题。

  选择数据库表名和字段名采用大写还是小写,并且在数据库的设计和编码过程中完全统一。

  3、保留字。

  要求数据库设计者尽量不使用保留字作表名和字段名。也有很多人有这种用法,在表名和字段名前加‘_’,像这样:createtable_tablename(_idinteger)。这样永远不会出现保留字引起的问题。

到此,关于“Oracle移植到MySQL需要注意哪些问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle移植到MySQL需要注意哪些问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java需要注意的问题有哪些

这篇文章主要介绍了Java需要注意的问题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Top 1:"abc"=="abc"返回的结果是False,很多初学Java的都要
2023-06-17

运营新人需要注意哪些问题

本篇内容介绍了“运营新人需要注意哪些问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在产品菜鸟汇写了一些运营文章,就开始有小伙伴以为我是大
2023-06-10

申请域名需要注意哪些问题

这篇文章主要讲解了“申请域名需要注意哪些问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“申请域名需要注意哪些问题”吧!首先,是查询自己需要的域名没有被注册过,就能够根据后期提示的步骤,按照
2023-06-06

网站买卖需要注意哪些问题

这篇文章主要讲解了“网站买卖需要注意哪些问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“网站买卖需要注意哪些问题”吧!  第一,在买网站前要分析网站类型和相应的关键词的相关性。一个网站品质
2023-06-10

新手建站需要注意哪些问题

本篇内容介绍了“新手建站需要注意哪些问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1、一定要做网站规划方案  一个网站的成功与否与建
2023-06-13

Flex开发时需要注意哪些问题

这篇文章给大家分享的是有关Flex开发时需要注意哪些问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Flex开发心得小结和Flash的开发环境相比,Flex开发提供的组件库确实很诱人,但由于功能太全面,导致程序
2023-06-17

购买模板需要注意哪些问题

这篇文章主要讲解了“购买模板需要注意哪些问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“购买模板需要注意哪些问题”吧!  随着建站程序的出现,很多网站基本上通过程序设置设置就可以轻松搞定。
2023-06-10

Centos7安装时需要注意哪些问题

这篇文章主要介绍“Centos7安装时需要注意哪些问题”,在日常操作中,相信很多人在Centos7安装时需要注意哪些问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Centos7安装时需要注意哪些问题”的疑
2023-06-10

购买HostUS VPS需要注意哪些问题

本篇内容介绍了“购买HostUS VPS需要注意哪些问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!HostUS香港VPS评测1.Host
2023-06-10

网站域名注册需要注意哪些问题

本篇内容介绍了“网站域名注册需要注意哪些问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 每个网站都有属于自己的域名,域名简单的说就是一个
2023-06-06

将ibatis迁移到mybatis3时需要注意哪些事项

将ibatis迁移到mybatis3时需要注意哪些事项?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。新的DTDs新的sqlMapConfig.xml DTD:
2023-05-31

建站前需要注意的问题有哪些

这篇文章主要介绍“建站前需要注意的问题有哪些”,在日常操作中,相信很多人在建站前需要注意的问题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”建站前需要注意的问题有哪些”的疑惑有所帮助!接下来,请跟着小编
2023-06-10

建设网站时需要注意哪些问题

本篇文章为大家展示了建设网站时需要注意哪些问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1。网站会自动吸引访问者使您的网站在线只是工作的一半。许多企业主错误地认为,一旦他们的网站上线,他们将自动
2023-06-07

编程热搜

目录