
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCEL関数(数式)を教えてください 2 2022/06/08 18:32
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Excel(エクセル) 【マクロ】リボン、行列、数式・ステータスバを非表示に 4 2022/12/12 07:32
- Visual Basic(VBA) 基礎的な質問なのですが、Excel VBAで、B列、C列、それぞれの値を照合し、D列へ照合結果(一致 3 2022/04/02 17:14
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
OracleのSQL*PLUSで、デー...
-
Excelで、改行がある場合の条件...
-
Excelでセルの書式設定を使用し...
-
GROUP BYを使ったSELECT文の総...
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
Date型にNULLをセットしたい V...
-
JSPのNULLレコード表示について...
-
あるカラムのMAX値+1をINSERTし...
-
Access終了時の最適化が失敗?
-
select insertで複数テーブルか...
-
ADO VBA 実行時エラー3021
-
MERGE文を単体テーブルに対して...
-
ACCESSで大量の更新を行うと「...
-
最新の日付とその金額をクエリ...
-
DataGridViewの、選択されてい...
-
実績累計の求め方と意味を教え...
-
ファイル書込みで一行もしくは...
-
Accessで別テーブルの値をフォ...
-
SELECTで1件のみ取得するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OracleのSQL*PLUSで、デー...
-
Excelでセルの書式設定を使用し...
-
GROUP BYを使ったSELECT文の総...
-
Excelで、改行がある場合の条件...
-
日本語の表名、列名の利用について
-
ACCESSのコンボボックスの右側...
-
別のテーブルの値でUPDATEした...
-
image型のInsertについて
-
SQLを教えてください
-
MS-ACCESS2000で数万件のデータ...
-
NULLのみを保持した列を除外し...
-
エクセルの集計(縦横での集計)
-
COBOLソースに記述するホスト変...
-
LOAD DATE INFILE で Bit(1)型...
-
DB2で UNION ALL と GROUP BY ...
-
ADOのRecordCountプロパティに...
-
レコードセットからどれでも1...
-
SQLについて質問です。 AVG関数...
-
主キーに重複があるレコードの...
-
Excelの一覧から重複データを削...
おすすめ情報