2011-01-13 65 views
0

我正在使用SQL Server数据库的项目中工作。但最近决定将数据库更改为MySQL。什么是MySQL不支持的SQL Server查询语法?

我没有使用任何存储过程,视图,触发器,用户定义函数等。但我认为即使这样,一些为SQL Server编写的查询也不会被MySQL支持。

任何人都可以提供帮助:我必须检查(和更改)哪些内容,以便所有查询都能正常工作。

+0

你必须重新测试所有数据库代码,彻底。与仅仅不支持的语法相比,可能会有更多的差异。如果排序规则不同,会怎样?如果以不同的方式完成优化会怎么样?现在运行得很快,现在可能运行缓慢。 – 2011-01-13 10:22:25

回答

1

总是可以选择从MySQL AB获得商业支持来解决这个问题。我很确定他们已经做了足够多的MSSQL-> MySQL迁移来了解相关信息。如果迁移中的价格标签不成问题。

或者,您可以尝试在数据上运行MySQL Migration Toolkit,并在无法迁移的内容中查找有意义的错误消息。 MySQL Migration Toolkit是MySQL GUI工具的一部分。

+0

感谢您的建议。它真的会帮助我。 – ANP 2011-01-14 10:14:58

2

,我知道的查询没有咨询是行不通的文档:

  • (递归)公用表表达式使用标准的SQL字符串连接||
  • 更新与
  • 窗口函数
  • 查询JOIN在两个系统之间不同
  • 日期算术:date_column + 1在SQL Server中的行为不同
  • 被零除将产生错误
  • SQL Server将拒绝不适合的列值(而不是默默截断它,它的MySQL确实在默认安装)

DDL不会工作和可能对性能和/或质量的数据,你需要精确到毫秒

  • 表与检查约束

    • datetime列的影响
    • 索引视图
    • 触发器的看法
    • 表函数(select * from my_function(42);
    • 过滤索引( “部分指数”)
    • 基于函数的索引
  • +0

    非常感谢您的回复。 – ANP 2011-01-14 10:13:24