当前位置:  数据库>oracle

关于MySQL和Oracle转化的问题及解决

    来源: 互联网  发布时间:2017-03-18

    本文导语:     MySQL和Oracle转化问题集:     1.  MySQL不支持序列,不过MySQL采用了自动增加的机制,在ID列使用auto-increase即可代替序列,在SQL语句插入的时候在 ID列对应的位置填Null即可,但是问题出现在文件上传的时候,文件名为ID值的...

    MySQL和Oracle转化问题集:

    1.  MySQL不支持序列,不过MySQL采用了自动增加的机制,在ID列使用auto-increase即可代替序列,在SQL语句插入的时候在 ID列对应的位置填Null即可,但是问题出现在文件上传的时候,文件名为ID值的情况,因为没有了序列,如何取出该ID值呢,没有了ID值文件上传的机制也必须相应的改换掉。

    解决办法1:在原有表里select max(id)+1求得未来id值。

    2.  MySQL没有Oracle中通用函数或方法,比如系统时间sysdate。不知道MySQL中是否存在getdate()方法。

        2.1  如在MySQL中设置时间日期列的默认值为系统日期。

        测试结果1:MySQL中没有虚表dual,且没有sysdate,也没有其他数据库支持的getdate()方法。

        解决办法1:

        首先,在MySQL里面替代sysdate的方法是sysdate()和curdate()、curtime()、now()方法。

        sysdate():

        curdate():取出系统当前日期,格式如'yyyy-mm-dd'。使用curdate+0输出格式如'yyyymmdd'。

        curtime():取出系统当前时间,格式如'hh:mi:ss'。使用curtime()+0输出格式如'hhmiss'。

        now():同sysdate(),取出系统日期加时间,格式如'yyyy-mm-dd hh:mi:ss'。使用now()+0输出不带分隔符的日期时间。

        其次,在MySQL里面设置Default属性的时候不支持使用方法函数,但是提供了一种新类型timestamp代替date。此类型就是指带有默认值为系统时间日期的date或datetime。timestamp类型可以有截取值如timestamp(14)指输出到秒,timestamp(6) 指'yy-mm-dd',以此类推。

        最后,解决问题的完美办法就是将该date列的类型设为timestamp(8)即可。

    3.  MySQL中不支持简化联表写法,必须严格使用JOIN ON语句。


    
 
 

您可能感兴趣的文章:

  • 浅析mysql 共享表空间与独享表空间以及他们之间的转化
  • mysql启动错误之mysql启动报1067错误解决方法
  • MySql报错Table mysql.plugin doesn’t exist的解决方法
  • MYSQL安装时解决要输入current root password的解决方法
  • php连接不上mysql但mysql命令行操作正常的解决方法
  • mysql修改用户密码的方法和mysql忘记密码的解决方法
  • 安装好的Redhat Linux 8.0,带Apache和php支持,安装上Mysql后,运行正常,但检测提示php不支持Mysql,如何解决?
  • mysql服务无法启动报错误1067解决方法(mysql启动错误1067 )
  • mysql解决远程不能访问的二种方法
  • MYSQL不能从远程连接的一个解决方法(s not allowed to connect to this MySQL server)
  • 如何解决连接mysql的权限问题?
  • windows7下启动mysql服务出现服务名无效的原因及解决方法
  • mysql忘记密码的解决方法
  • PHP站点提示“/var/lib/mysql/mysql.sock”不存在的解决方法
  • mysql 提示INNODB错误的解决方法
  • DOS命令行窗口mysql中文显示乱码问题解决方法
  • 解决bash: mysql: command not found 的方法
  • mysql query browser中文乱码的解决方法
  • mysql远程登录出错的解决方法
  • mysql4.0升级到mysql5(4.1),解决字符集问题
  • Mysql的longblob字段插入数据问题解决
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle欲收购开源数据库MySQL未果
  • MySQL类似Oracle的dual虚拟表
  • 在linux下是MYSQL好还是ORACLE厉害?
  • Oracle与Mysql主键、索引及分页的区别小结
  • c/c++ iis7站长之家
  • Linux(redhat)下除了oracle / MySql 外还有哪些稍大型一点的 数据库
  • mysql仿oracle的decode效果查询
  • MySQL 移植到Oracle10 的问题
  • Oracle承诺一出 MySQL 5.5 版就发布
  • 解析mysql与Oracle update的区别
  • oracle与mysql的视频教程下载地址分享
  • 调查服务器系统BSD,SCO,Linux,windows?和数据库mysql,oracle,sqlserver?
  • 取数据库前几条数据(sql server、oracle、mysql)的sql写法
  • Oracle和MySQL对比
  • 调查显示MySQL进一步蚕食Oracle市场
  • MySQL数据迁移到Oracle记录
  • Oracle并购SUN应放松对MySQL控制
  • JSP连接MySql/MS SQL Server/Oracle数据库连接方法[整理]
  • Oracle与Mysql自动增长列(id)的区别
  • Oracle 11g与MySQL的异构连接
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 在 linux下输入"mysql"命令,进入mysql命令行,但出现“Can't connetc to local MySQL server thuough socket /var/lib/mysql/mysql.sock
  • Mysql查询错误:ERROR:no query specified原因
  • MySQL 重装MySQL后, mysql服务无法启动
  • php安装完成后如何添加mysql扩展
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件?
  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • 請教,在redhat linux7.2+mysql 中,系統提示mysql已啟動,網頁卻不能訪問mysql?
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 求解释: useradd -g mysql mysql -d /home/mysql -s /sbin/nologin
  • MySQL Workbench的下载安装与使用教程


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3