mysql - MySQL 4.1 的 SET 与 LOAD DATA INFILE 的等价物?

标签 mysql sql adaption

我会使用 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/

相关文章:

sql - 如何创建多语句表值函数

sql - 如何在sql表中找到图像的大小?

neural-network - 训练后调整神经网络

使用 ALTER 时 MySQL 未知列错误,不理解行为

c# - 如何以int ID为null的条件过滤DataTable

java - jsp mysql 注册时出错

mysql - 在mysql docker中拒绝用户 'root' @'localhost'的访问

MySQL Select Query - 仅获取值的前 10 个字符