1

我有一个 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]
4

1 回答 1

3

如果您想手动转换 DDL,那么您可以通过根据具体情况建立规则来做到这一点,例如如下:

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

这将为您留下如下内容:

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

在这里提琴

但是,使用迁移工具执行此迁移通常要容易得多- 搜索“如何”部分Transition from SQL Server to MySQL

于 2012-11-27T12:12:02.683 回答