我在文件中有一行一行的一列,我想将其插入到 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/