1

Sybase Power Designer を使用して、物理データ モデルからデータベースを作成しています (Sybase は SQL ファイルを作成します)。phpMyAdmin で SQL ファイルをインポートすると、次のエラーが発生します。

#1064 - SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

何か案は?このエラーは、物理モデルのエラーが原因で発生する可能性がありますか?それとも別の問題がありますか?

これはコードです:

if exists(select 1 from sys.sysforeignkey where role='FK_ARTWORK_HAS_BUY') then
    alter table artwork
       delete foreign key FK_ARTWORK_HAS_BUY
end if;
4

2 に答える 2

1

あなたが得ているエラーはMySQLからのものです。SQL の生成に使用されたツールに関係なく、データベースは MySQL のように見えます (または、システムが混乱して MySQL であると考える場合、システムにひどく問題があります)。

MySQLifステートメント (ドキュメントはこちら) は、ストアド プログラム内にある必要があります。つまり、このコードは、ストアド プロシージャ、ユーザー定義関数、またはトリガー内でのみコンパイルされます。それだけで「うまくいく」わけではありません。

sysさらに、MySQL にはテーブルがありません。information_schemaテーブルを使用しています。私の最も強い提案は、実際のデータベースに適したツールを使用することです。ツールを使用して Sybase を生成する場合は、Sybase を宛先データベースとして使用します。MySQL を使用している場合は、ツールを使用して MySQL コードを生成します。または、さらに良いのは、コマンドを自分で書く方法を学ぶことです。

最後に、Sybase を使用する場合は、正しいデータベースに接続すると問題が解決するはずです。

于 2014-06-20T10:20:18.580 に答える
0

ここに投稿できず、sqlfiddle.com が一時的に利用できないため、Sybase の正しい構文のコードを PasteBin に投稿することにしました

于 2014-06-20T10:11:51.380 に答える