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 、MySQL は SQL Serverdboと同じ方法でスキーマを実装していません。スキーマをデータベースに分割するか、スキーマを削除するか、スキーマ名をテーブル名に (たとえばプレフィックスとして) マングルする必要があります。

これにより、次のようなものが残ります。

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 に答える