如何将MS SQL查询转换为MySQL查询

时间:2012-11-27 12:04:55

标签: mysql sql-server converter

我有一个MSSQL查询文件(.sql),现在我需要将其转换为MYSQL查询。 请帮我。像这样的脚本:

CREATE TABLE [dbo].[Artist](
    [ArtistId] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](120) NULL,
PRIMARY KEY CLUSTERED 

(
    [ArtistId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

1 个答案:

答案 0 :(得分:3)

如果您想手动转换DDL,那么您可以根据具体情况制定规则,例如:如下:

  • []需要替换为反引号
  • IDENTITY(1,1)可以替换为AUTO_INCREMENT
  • 大多数ANSI选项和设备设置 可以忽略(这些似乎只是因为表有 已被重新编号)
  • w.r.t。 dbo,MySQL不以与SQL Server相同的方式实现模式 - 您需要将模式分离到数据库中,或者删除模式,或者将模式名称变为表名(例如,前缀)

这将为您留下如下内容:

CREATE TABLE `Artist`(
    `ArtistId` int NOT NULL AUTO_INCREMENT,
    `Name` nvarchar(120) NULL,
    PRIMARY KEY CLUSTERED 
    (
       `ArtistId` ASC
    )
);

Fiddle here

但是,使用migration tool进行迁移通常要容易得多 - 搜索有关如何Transition from SQL Server to MySQL

的部分