问题现象
如下用例中,使用 format 3 正常加载,使用 format 5 报错。
create table t1(a int,b timestamp NOT NULL DEFAULT CURRENT_TIMES
TAMP ON UPDATE CURRENT_TIMESTAMP);
# more t1.txt
1,
2,
3,
gbase> LOAD DATA INFILE 'ftp://root:111111@192.168.1.4//opt/t1.txt' I
NTO TABLE test.t1 data_format 3 FIELDS TERMINATED BY ',' TA
BLE_FIELDS 'a' ;
Query OK, 3 rows affected (Elapsed: 00:00:00.08)
Task 262179 finished, Loaded 3 records, Skipped 0 records
gbase> LOAD DATA INFILE 'ftp://root:111111@192.168.1.4//opt/t1.txt' I
NTO TABLE test.t1 data_format 5 FIELDS TERMINATED BY ',' TA
BLE_FIELDS 'a' ;
Query OK, 0 rows affected (Elapsed: 00:00:00.10)
Task 262180 finished, Loaded 0 records, Skipped 3 records
# more 262180_test_t1_n1_192.168.1.4_20180516203143.trc
file_name | file_offset | record_len | column | reason
ftp://root:******@192.168.1.4//opt/t1.txt|0|3

该文分析了在GBase数据库中,使用format3和format5加载数据时出现的不同行为,特别是对于空值的处理。format5遵循严格模式,遇到空值时默认入库为null,若列有notnull约束则无法入库。而format3会使用默认值填充空值。此外,还列举了宽松模式下数据加载的一些规则和例外情况。
最低0.47元/天 解锁文章
1893

被折叠的 条评论
为什么被折叠?



