• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sqlファイルで、SET NAMES 'ujis' を、MySQLバージョンによって実行したい)

sqlファイルでSET NAMES 'ujis' を実行する方法

このQ&Aのポイント
  • MySQLのバージョンによって、.sqlファイルでSET NAMES 'ujis' を実行する方法について教えてください。
  • 4.0以前ではエラーとなる命令のため、4.0以前の環境ではコメントにして、4.1以降で実行するときに有効にする方法を教えてください。
  • 初心者ですので、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.1

MySQLに繋いだ後、MySQLサーバーのバージョンを調べてからSET NAME 'ujis'を送るかどうかを決めることで対処できます。 (私が作った掲示板でも同じ方法を採っています) バージョンを調べるSQL文は、 SELECT VERSION() です。 (ちなみにPostgreSQLでも同じ文です) で、これを送ると 4.0.26-nt-max とか 4.1.16-log というように値が返ってきます。 -以降の部分はサーバーのオプションを表しているだけなので数字の部分だけ見れば判断できます。 ちなみにこの方法だと、予め~.sqlというファイルに入れておいて実行させるのは無理ですので、バージョンを調べるのとSET NAMESを送るのは~.sqlのファイルとは別にしてシステム内でやるようにすると良いです。

kaeru_007
質問者

お礼

ありがとうございました。 おかげ様で、Linux用のスクリプトを作ることが出来ました。 (dos用がまだですが。。) また、よろしくおねがいいたします!

関連するQ&A