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で質問しましょう!
似たような質問が見つかりました
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL MYSQL エラー 2 2022/10/18 11:37
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- PHP php エラー 2 2022/10/23 16:43
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
datetime型でNULL値を入れたい。
SQL Server
-
Date型にNULLをセットしたい VB2008+SQLServer2008
SQL Server
-
-
4
データベースのINT型項目にNULLはNG?
MySQL
-
5
int型フィールドにnullを登録できない・・・
MySQL
-
6
DATE型にNULLをセットするには?
Oracle
-
7
mysqlへのインポート処理がうまくいかない
MySQL
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sql*loader 数値のロード
-
BCPコマンドについて
-
sqlite3でcsvのインポートがで...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
同じSQL文で極端に検索が遅くな...
-
PL/SQLをWindowsのBATファイル...
-
mysqlにおけるホストのパーセン...
-
あるDBから別のDBのテーブルをs...
-
comment on columnについてわか...
-
MySQLの文字化け
-
1つのファイルにmysqlとPostgre...
-
MySQLへの特殊文字の挿入について
-
SQL*Loaderで桁数チェック
-
phpmyAdminでmySQLのdumpデータ...
-
データベースの複製の仕方(mysql)
-
二重に記載されてしまう
-
ACCESSからリンクでのレコード...
-
LinuxでFatal errorが出てしま...
-
phpmyadminでの特権が表示方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sql*loader 数値のロード
-
作成したレコードセットのCSV出...
-
MySQL Date型にNULLが設定でき...
-
CSVを1行しかインポートしない...
-
BCPコマンドについて
-
MySQLで連続csvファイルを読み...
-
phpmyadminでcsvインポートで文...
-
sqlite3でcsvのインポートがで...
-
BAT処理でCSVデータのインポート
-
CSVインポート,日本語文字化け
-
【Access2000VBA】CSVファイル...
-
CSVファイルのインポートについて
-
MySQLのLOAD文を使ってCSV...
-
MySQLにEXCELやCSVなどでの一括...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
あるDBから別のDBのテーブルをs...
-
PL/SQLをWindowsのBATファイル...
-
html上でMySQLにアクセス(Java...
-
同じSQL文で極端に検索が遅くな...
おすすめ情報