目前,我们有一个类似于这样的表:
---------------------
ID | AField | BField|
---------------------
ID为自动增量
如何创建一个CSV,让数据库自动填充ID字段,并自动增加编号?
我们尝试了以下CSV,但它不起作用:
afieldvalue, bfieldvalue (With Column definition but still doesn't work)
0,afieldvalue,bfieldvalue
NULL,afieldvalue,bfieldvalue
7条答案
按热度按时间ikfrs5lh1#
最好的做法是在CSV中包含2个非自动递增列,然后在load data infile语句中显式地将ID列设置为NULL。
大概是这样的
fhity93d2#
你可以通过在数据行的开头放置分隔符符号来“省略”数据行中的ID字段,就像这样(对于表模式
ID,AField,BField
):SQL引擎将在阅读此类csv文件时将
NULL
分配给ID
字段5q4ezhmt3#
iszxjhcz4#
尝试使用NULL作为csv文件中ID字段的值。
ikfrs5lh5#
CSV文件中的
NULL
在MySQL中被读取为STRING。如果你想在MySQL列中有null值,请使用\N
代替`NULL。这将解决这个问题,你将得到所需的结果。8gsdolmq6#
如果只有少量的列,可以直接命名它们:
LOAD DATA LOCAL INFILE 'myfile.txt' INTO TABLE mytable (AField);
(仅假设ID和AField)5anewei67#
这是我在使用文本文件时成功的关键