2011/11/07

【MySQL】コマンドラインからUPDATE、INSERTするときの注意

今日会社でDB作成中にハマったのでメモ

普段はPhpMyAdminからデータを入れたりするのですが、
今回の案件が膨大なデータ量だったのでコマンドラインから
SQL文を実行する事になったときにハマりました。


はい、文字コードです。

INSERTをする際に文字コードを指定しないといけなかったみたいで
すべて文字化けしたままDBに挿入されていました…

その際の解決方法をメモしておきます。

下記を指定するだけでした。
SET NAMES 'utf8';
これは、今回のやり取りでどの文字コードを使うという指定をするものです。 ですので、これを指定したあとにSQL文を実行すると指定した文字コードでデータが 挿入されます。 これで無事データの挿入が出来ました。 次から気をつけよう。 【追記】 SET NAMESにはSQLインジェクションの脆弱性があるようで コマンドライン上から使用するのは大丈夫なようですが、アプリケーションから 利用する場合は注意が必要ということらしいです。 終わり

0 件のコメント:

コメントを投稿