
csvファイルからMySQLにデータを取り込む際に、Date型やint型にNULLを設定するにはどうしたらよいでしょうか。
以下のようなテーブルに
| tTest | CREATE TABLE `ttest` (
`ID` bigint(20) NOT NULL,
`title` text NOT NULL,
`naiyou` varchar(100) DEFAULT NULL,
`kaishi` date DEFAULT NULL,
`owari` date DEFAULT NULL,
`peirod` bigint(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=sjis |
以下のようなcsvファイルを読み込んだとき(*)、
10,テスト,2008-04-05,2009-04-23,43
11,テスト,2008-04-05,NULL,43
12,テスト,2008-04-05,2009-04-23,NULL
2行目のNULLで
ERROR 1292 (22007): Incorrect date value: 'NULL' for column ....
とエラーが発生します。
3行目のNULLでもint型ですが同様にエラーとなります。
一方、insertで行の追加以下のようにした場合は成功します。
insert into tTest values (12,テスト,'2008-04-05',NULL,NULL)
外部ファイルから読み込んだ場合にNULL値を設定するにはどのようにしたらよいのでしょうか。
(*)以下のコマンド
LOAD DATA INFILE "E:\\work\\MySQL\\sample.csv"
INTO TABLE tTest FIELDS TERMINATED BY ","
LINES TERMINATED BY "\r\n";
No.1ベストアンサー
- 回答日時:
表の構成列は6個あるのに、csvファイルは5個しか値がないのでしょうか?
insert文では格納できたというのも、実際に使ったinsert文と違っているのでしょうか?
→列名のリストを省略しているのに、values句では5個の値しか指定しておらず、エラーになるはず。
>外部ファイルから読み込んだ場合にNULL値を設定するにはどのようにしたら
表の定義通りの順序、個数でcsvファイルを作るのであれば、
\N
を入れておけば、nullで格納できます。
「表の定義通りの順序、個数でcsvファイルを作らずに」といった要件があるなら、具体的な内容を提示してください。
回答ありがとうございます。
>\N
>を入れておけば、nullで格納できます。
\Nをセットすることでできました。
ありがとうございます。
>insert文では格納できたというのも、実際に使ったinsert文と違っているのでしょうか?
質問するために余分な情報を削除したりした際に、一列削除しわすれました。
混乱させてしまい恐縮です。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sql*loader 数値のロード
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
MySQL4.1系でPHPが文字化けして...
-
あるDBから別のDBのテーブルをs...
-
SQLServerのselect文でデータ数...
-
複数行をINSERTで『ORA-00911: ...
-
create databaseがうまくいきま...
-
mysqlにおけるホストのパーセン...
-
ODBCを使用する場合のファイルD...
-
複数のCSVファイルの読みこみ
-
SQL*Loaderでのデータロード
-
wordpressがインストールできな...
-
badファイルの内容を知る方法
-
ユーザにインフォメーション ス...
-
同じSQL文で極端に検索が遅くな...
-
数字で「そ」と「り」
-
行ごとにアクセス権限
-
ダンプファイルから特定のテー...
-
SQLデータベースへのリンクがあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sql*loader 数値のロード
-
CSVを1行しかインポートしない...
-
作成したレコードセットのCSV出...
-
CSVファイルのインポートについて
-
sqlite3でcsvのインポートがで...
-
MySQL Date型にNULLが設定でき...
-
MySQLのLOAD文を使ってCSV...
-
BCPコマンドについて
-
csvファイルのヘッダとカンマの...
-
データベースからWordpressを復...
-
phpmyadminでcsvインポートで文...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
PL/SQLをWindowsのBATファイル...
-
あるDBから別のDBのテーブルをs...
-
mysqlにおけるホストのパーセン...
-
同じSQL文で極端に検索が遅くな...
-
utf8bomとutf8mb4の違いがいま...
-
メンテナンスプランについて
-
create databaseがうまくいきま...
おすすめ情報