0

我正在一个项目中工作,我们目前正在使用 SQL Server 数据库。但是最近已经决定将数据库更改为 MySQL。

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

任何人都可以帮忙:我必须检查(和更改)哪些内容才能使所有查询也适用于 MySQL?

4

2 回答 2

3

我在没有查阅文档的情况下知道的那些不起作用的查询:

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

DDL 不起作用并且可能对性能和/或数据质量产生影响

  • 需要精确到毫秒的日期时间列
  • 带有检查约束的表
  • 索引视图
  • 视图触发
  • 表函数 ( select * from my_function(42);)
  • 过滤索引(“部分索引”)
  • 基于函数的索引
于 2011-01-13T12:50:08.967 回答
1

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

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

于 2011-01-13T12:36:09.293 回答