2016-08-16 11 views
0

mysqlのSQL構文は、バージョン間で下位互換性のない方法で変更されますか?バージョン間のMySQL構文の変更

私はmysqlが5.1だったときに動作することが知られていた長い手書きのスクリプトを持っていますが、5.6ではこれ以上動作しません。

「はい」の場合、手書きスクリプトを更新する一般的な方法は何ですか?

私は特定のエラーを尋ねることはありません。私が1つだけ修正すると、別のエラーにぶつかるからです。そのような急な変化が起こるかどうか尋ねるだけです。私はsqlの世界に外国人です。例えば、古いJavaコードは一般的にバージョンのアップグレードで壊れません。すべてを手作業で修正する以外に、移行する共通の方法があるかどうかを尋ねます。

+0

mysqlのエラーを確認し、そのエラーを検索してください。これらのバージョン間で何が変更されているかがわかります。 – Shaharyar

+0

mysql api – Jens

+1

の変更については、mysqlドキュメントを参照してください。はい。多分。これ以上動作しないクエリは何ですか?どのようなエラーが出ますか?この質問はあまりにも開いて答えに終わった。 – tadman

答えて

0

私は自分自身を被った中で最も注目すべき変更点は、CREATE TABLE syntaxTYPE除去である:

古いTYPEオプションはENGINEと同義でした。 TYPEはMySQL 4.0では非推奨の でしたが、MySQL 5.5では削除されました。 MySQL 5.5または にアップグレードする場合は、TYPEに依存する既存のアプリケーションを変換して、代わりに ENGINEを使用する必要があります。

当時のほとんどのMySQLクライアントでは、TYPEが使用され、SQLダンプが5.xサーバにロードされなくなりました。したがって、少なくとも1つの例があるとすれば、私は、バージョン間でSQL構文が互換性のない方法で変更できることを述べることができます。

手書きスクリプトを更新する一般的な方法として、もちろん、変更の性質とデータに完全に依存します。私は通常、テキストエディタを使用してTYPEENGINEに置き換えました。私のダンプはこれまで小さくなっていました。