NULLの日付フィールドを持つパイプ区切りファイルがあります。このデータは、NULLの日付のデフォルト値を持つ一時表にロードされます。私の場合、私は1950年1月1日にデフォルトしたいと思っています。しかし、これらのデフォルトは一見上書きされており、0000-00-00が挿入されています。MySQL - デフォルトの日付の代わりにゼロ日付が挿入されました
私は私のソースファイルをgreppedと予想NULL日付が\ Nおよびファイル内に場所を持って確認している#!/bin/bash
CMD="CREATE TEMPORARY TABLE IF NOT EXISTS ar_tmp LIKE ar; LOAD DATA INFILE '/some/path/ar.txt' INTO TABLE ar_tmp FIELDS TERMINATED BY '|'; SELECT * FROM ar_tmp;"
mysql -uuser -ppassword db -e "$CMD" > /opt/rxdb/tmp.log
パターン0000-00-00です:ここで私がテストを書いた迅速なbashスクリプトです。ここ
はar_tmpの構造である:
Field Type Null Key Default Extra
customer_code int(11) NO PRI 0
activity_date date NO PRI 1950-01-01
delivery_date date NO PRI 1950-01-01
sequence int(11) NO PRI 0
type varchar(10) YES NULL
due_date date YES 1950-01-01
original_charge float YES NULL
prior_alloc float YES NULL
current_alloc float YES NULL
future_alloc float YES NULL
open_balance float YES NULL
shipto_customer int(11) NO MUL 0
reference varchar(10) YES NULL
journal_ref_number int(11) YES NULL
next_month_flag int(11) YES NULL
journal_type varchar(15) YES NULL
activity_num int(11) YES NULL
document_path varchar(100) YES NULL
conditional_eft_approved char(1) NO N
customer_name varchar(30) YES NULL
allow_web_payment char(1) YES NULL
modify_date datetime NO 1950-01-01 12:00:00
道路上にあるデフォルトはactivity_date、DELIVERY_DATE及びDUE_DATEあります。誰かが何が起こっているか説明できますか?
EDIT:ソースファイルから
3行:
結果のレコードを対応5830|2012-02-21|\N|29543|PAYMENT|\N|-600.5|0|0|0|-600.5|5830|505700|4807|0|Cash|0||N|TIME WARNE|N|2012-03-09 07:07:11
8057|2012-03-08|\N|32523|PAYMENT|\N|-1348.74|0|-1348.74|0|0|8057|1486|22|0|Cash|0||N|PACIFIC HA|N|2012-03-09 07:07:11
8103|2012-03-07|\N|32138|PAYMENT|\N|-1382.29|0|-1382.29|0|0|8103|3719|4|0|Cash|0||N|NORTH COUN|N|2012-03-09 07:07:11
:
5830 2012-02-21 0000-00-00 29543 PAYMENT NULL -600.5 0 0 0 -600.5 5830 505700 4807 0 Cash 0 N TIME WARNE N 2012-03-09 07:07:11
8057 2012-03-08 0000-00-00 32523 PAYMENT NULL -1348.74 0 -1348.74 0 0 8057 1486 22 0 Cash 0 N PACIFIC HA N 2012-03-09 07:07:11
8103 2012-03-07 0000-00-00 32138 PAYMENT NULL -1382.29 0 -1382.29 0 0 8103 3719 4 0 Cash 0 N NORTH COUN N 2012-03-09 07:07:11
入力ファイルで使用されている日付形式は何ですか? – bfavaretto
@bfavaretto:YYYY-MM-DD – btl
明示的な 'ESCAPED BY '\\''はどうなりますか? – Wrikken