MySQLサーバにLOAD DATA INFILEコマンドを使ってファイルを読み込む時,なぜかBit(1)型の列にTrueを入れる際にWarningが無くなりません.
オプションには
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'
を選択して "列1","列2","列3"\r\n の形式で読み込んでいます.
この時,Bit(1)型の列にFalseを入れるときには"\0"や"\n",""のような値を入れれば問題なくFalseとなるのですが,逆に他の何を入れてもwarningの発行とともにTrueになり,(Trueが入る事ではなく,warningの発行の方に)困っております.
何方か,warningを出さずにtrueを入力する方法を教えて頂けませんでしょうか.
宜しくお願いします.
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
追記です。
trueやfalseとして扱いたいなら、bitでなくboolを使用してください。
そうすれば、load data infileの入力ファイルでは、0や1としてデータを作成しておけばいいことになります。
No.2
- 回答日時:
MySQLのバージョンは、何でしょうか?
MySQLでは、boolとtinyint(1)は同じ意味であり、trueやfalse、0や1を持ちます。
一方、bitはSQLとして定数で指定するなら、b'1'のように指定します。SQL上ではbool、tinyint(1)とbitの変換を自動的に行ってくれますが、load data infileの入力ファイルからは、b'1'といった定数として入れられないし、数値変換も自動的には行ってくれません。
マニュアルのload dara infileの説明にある、ユーザ変数の指定方法、set句の使い方で説明されています。
http://dev.mysql.com/doc/refman/5.1/ja/load-data …
LOAD DATA INFILE '/tmp/bit_test.txt'
INTO TABLE bit_test (@var1)
SET b= CAST(@var1 AS SIGNED);
No.1
- 回答日時:
MySQLのbool値は、内部的には、数値の1,0が、それぞれtrue,falseとして保持されています。
ファイルから読み込む時も、"1"または 1 がtrueで、0 や ""空文字列は falseです。
コマンドラインのsql文上では、括り無しで true と書いても、1 に変換して内部処理していますが、ファイル読み込みで、true とかfalse とか書くと単純に文字列と見なされるので、範囲外のwarningがでるのでしょう。
この回答への補足
回答有難う御座います.
しかし上記方法は既に試行済みですし,Bit型の内部が0と1で構成されている事も了解しております.
念のために確認しましたが,やはり下記のようにWarning1264が出現しました.
Warning | 1264 | Out of range value adjusted for column 'bit' at row 1
補足するならば,他に1^1なども試しております.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで、改行がある場合の条件...
-
GROUP BYを使ったSELECT文の総...
-
Excelでセルの書式設定を使用し...
-
OracleのSQL*PLUSで、デー...
-
日本語の表名、列名の利用について
-
image型のInsertについて
-
SQLで列名の変更
-
COBOLソースに記述するホスト変...
-
ADOのRecordCountプロパティに...
-
cursor.getString
-
ACCESSのコンボボックスの右側...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
ADO VBA 実行時エラー3021
-
DATE型にNULLをセットするには?
-
JSPのNULLレコード表示について...
-
Accessで別テーブルの値をフォ...
-
Access終了時の最適化が失敗?
-
SQL文で右から1文字だけ削除す...
-
select insertで複数テーブルか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを使ったSELECT文の総...
-
Excelでセルの書式設定を使用し...
-
OracleのSQL*PLUSで、デー...
-
Excelで、改行がある場合の条件...
-
日本語の表名、列名の利用について
-
主キーに重複があるレコードの...
-
COBOLソースに記述するホスト変...
-
ACCESSのコンボボックスの右側...
-
image型のInsertについて
-
レコードセットからどれでも1...
-
cursor.getString
-
行全体を、決まった文字列があ...
-
ADOのRecordCountプロパティに...
-
MS-ACCESS2000で数万件のデータ...
-
SELECT文で列名指定して桁あわ...
-
NULLのみを保持した列を除外し...
-
別のテーブルの値でUPDATEした...
-
SQLについて質問です。 AVG関数...
-
LOAD DATE INFILE で Bit(1)型...
-
クエリビルダで列名を変数にし...
おすすめ情報