我有一个包含多列的表。还有一个包含数据的文本文件,每行一个值:
aaa
bbb
ccc
ddd
如何将文件加载到文件中的特定列以及设置其他列?
+----+------+------+------+------------+
| id | col2 | col2 | col3 | created_at |
+----+------+------+------+------------+
| | | | | |
+----+------+------+------+------------+
| | | | | |
+----+------+------+------+------------+
| | | | | |
+----+------+------+------+------------+
我想将文件中的数据加载到 中col2
,并将列设置created_at
为now()
。
===>
+----+------+------+------+------------+
| id | col2 | col2 | col3 | created_at |
+----+------+------+------+------------+
| 1 | aaa | | | <timestamp>|
+----+------+------+------+------------+
| 2 | bbb | | |<timestamp> |
+----+------+------+------+------------+
| 3 | ccc | | |<timestamp> |
+----+------+------+------+------------+
如何做到这一点LOAD DATA LOCAL INFILE ...
?
如果其他列有
DEFAULTs
,那么您只需要您已经暗示
id
isINT NOT NULL AUTO_INCREMENT
,这实际上是一个“默认值”。created_at
可以指定为具有默认值UNIX_TIMESTAMP()
。SET
如果您需要其他东西,请参阅语句内部的用法LOAD DATA
。 https://dev.mysql.com/doc/refman/8.0/en/load-data.html由于您需要手动设置日期: