2007年02月16日
MySQL のコメントではまる
- 2007-02-16 (Fri)
- ソフトウェア
いろいろといじくる為にあらかじめDBのバックアップを取っておいた.いじり終わったのでDBの復帰をしようとした.ものの見事にエラーでこけ,記事がどこかへ消えていった…
何が原因なのかあさってみたら,SQLのコメント周りではまっていた.Nucleus はバックアップ用にSQL文を吐き出し,いちおう記事などの文字列データはシングルクオートがエスケープされる.しかし,SQLのコメントの開始である # はそのままSQL文の中に残っている.結果,記事に # が含まれると,次の改行までがコメント扱いとなる.文字列中にコメントがあった場合,それはそのままの形で文字列に連結されるらしい.これらが合わさって,記事の最後の行に # があると記事の終了を表すクオートが誤認識される.この流れでSQL文がおかしいと文句を言われる羽目になった.
しょうがないので手動で最終行に # があるものに改行を加えてやったらうまく復旧できた.
バックアップがバックアップでないこの状況はどうにかしてほしいものだ.
- Comments: 0
- TrackBack (Close): -