mysqldumpについて
mysqldumpに関して、2つ目。。。というより、2回目(?)の質問になります。
知恵をお貸しいただける方、どうかよろしくお願いしますm(_ _)m
前質問
http://okwave.jp/qa/q7308667.html
「マイグレーションツール使えばいんじゃね?」
とのアドバイスを参考にとりあえず試してはいるものの、
それはそれ。これはこれ。
として、どうしても前質問のような現象になることの原因が気になります。
■テーブル構造
フィールド名|種別|照合順序|その他
id|int(10)|なし|auto_increment
data|text|utf8_general_ci|なし
の2フィールドのみです。
■データ登録
phpMyAdmin上の操作で、データ挿入を行い、「id」は、auto_incrementのため放置。
「data」に以下データを登録します。
あああああ
いいいいいいい
ううううう
登録後、再度、別のデータを登録します。
かかかかか
ききききききき
くくくくく
■mysqldump実行
mysqldump
-u ユーザ名 -pパスワード
--default-character-set=binary
--tab=D:/tmp
--fields-terminated-by=,
--fields-optionally-enclosed-by=\"
--lines-terminated-by="\r\n"
DB名 テーブル名
■実行結果
1,"あああああ\
いいいいいいい\
ううううう"
2,"かかかかか\
ききききききき\
くくくくく"
■疑問箇所
ん?コレなんだ??
1,"あああああ\←「コレ」
--fields-terminated-by=,
は、カラム区切りだから、「1,"あ」で問題なく出来ている。
--fields-optionally-enclosed-by=\"
は、文字列系のデータの囲み文字指定。。。「"あああ~ううう"」で問題なさそう。
--lines-terminated-by="\r\n"
は、レコードの区切り文字指定。。。「ううう"改行2,"かかか」で、テキストエディタで確認した際も、CRLFになってたみたいだから問題なし。
なんとなーく
--lines-terminated-by="\r\n"
を
--lines-terminated-by=""
にして実行してみると
1,"あああああ
いいいいいいい
ううううう",2,"かかかかか
ききききききき
くくくくく",
「\」は無くなったが、レコード区切りが無くなるので、全てを1レコードと認識する。。。
そもそも、「--lines-terminated-by」は、レコード区切りのはずなのに、何故改行コードに影響してくるんだろう??
「文字列データ内の改行コードの指定」なんて無いよな???
と思いながら、何をどうすればいいのか困っています。
1,"あああああ\←「コレ」
の意味をご存知の方いらっしゃいませんか?
参考情報でも、予想でも何でも構わないです。一人だと既に詰まってる状況なので、お知恵をお貸しいただけませんか?よろしくおねがいしますm(_ _)m
お礼
ありがとうございます。 >これテーブルの項目名を指定するところですよね。 その通りです。 >そもそも括弧自体が使えない気がします。 やはりそうですか。 テーブルの項目名から括弧をなしにしてロードし、ロード後に項目名を変更したいと思います。 どうもありがとうございました。