我会使用 LOAD DATA INFILE 加载 .txt 文件。
该文件仅包含部分列的数据,因此我想使用 SET 来指定文件中未包含的列之一的值。
这是我要使用的语法:
LOAD DATA LOCAL INFILE 'file.txt'
INTO TABLE some_table
FIELDS TERMINATED BY ','
(column1, column2, column3)
SET column4 = 100
问题是SET在MySQL 5.0中只是一个选项;不幸的是,我一直在使用 MySQL 4.1。
是否有使用 v. 4.1 来完成此操作的等效方法?
最佳答案
评论太长,所以张贴作为答案。
我从来没有使用过 5.0 之前的版本,所以只是问问你有没有尝试过
LOAD DATA LOCAL INFILE 'file.txt'
INTO TABLE some_table
FIELDS TERMINATED BY ','
(column1, column2, column3, 400)
或省略第4列
LOAD DATA LOCAL INFILE 'file.txt'
INTO TABLE some_table
FIELDS TERMINATED BY ','
(column1, column2, column3)
然后
UPDATE some_table SET column4 = 400;
?为此,Column4 必须具有默认值。如果没有,您可以使用 ALTER TABLE
语句轻松添加一个。
关于mysql - MySQL 4.1 的 SET 与 LOAD DATA INFILE 的等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18398535/