mysql - 从文件中插入一列,并填充其他列

标签 mysql

我在文件中有一行一行的一列,我想将其插入到 MySQL 表中。

我还想忽略值已经存在的行,并且表有更多列 - 我也想在其中插入一些值。

我怎样才能做到这一点?

我有以下 SQL:

LOAD DATA INFILE '/home/sample.txt'
IGNORE INTO TABLE 'table'
CHARACTER SET utf8;

它将忽略现有行,但我还想添加 NOW() 作为第二个列值,并将 NULL 添加为第三个列值。

我怎样才能做到这一点?

最佳答案

使用 temporary table .

CREATE TEMPORARY TABLE `table_tmp` (`myfield`);
LOAD DATA INFILE '/home/sample.txt' INTO TABLE `table_tmp` CHARACTER SET utf8;
INSERT IGNORE INTO `table` SELECT `myfield`, NOW(), NULL FROM `table_tmp`;
DROP TEMPORARY TABLE `table_tmp`;

临时表位于内存中,因此速度相当快。

关于mysql - 从文件中插入一列,并填充其他列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34396290/

相关文章:

mysql - SQL 查询以选择满足先决条件要求的主题

MYSQL - 左连接双重关系?

mysql - 软件工程 : Combining many modular programs in Unix

php - 我需要使用系统php函数导入数据库

mysql - Condition with join 类似于 where condition after join

mysql - 如何最佳地在 WHERE 子句中使用 COALESCE()?

php - eloquent中的百分比怎么计算?

php - 通过android studio上传图片到000webhost.com

php - Joomla 1.5 : How to find number of concurrent/active users in my joomla based intranet system

python - 如何在 MySQL 数据库中使用 UUID 而不是整数