我的数据库中有一个表,我想更新本地文件上脱机的列。文件本身有两列
- 与表中的 ID 列相对应的 ID,以及
- 实际值。
我已经能够使用创建新行
LOAD DATA INFILE 'file.txt' INTO TABLE table
FIELDS TERMINATED BY ','
但我不确定如何以将文件中的 ID 列连接到表中的 ID 列的方式专门插入值。有人可以帮助解决 SQL 语法吗?
我建议您将数据加载到临时表中,然后使用INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
;例如:
CREATE TEMPORARY TABLE temptable (
id INT UNSIGNED NOT NULL,
val INT,
PRIMARY KEY (id)
) ENGINE = MEMORY;
LOAD DATA LOCAL INFILE '/path/to/file.txt' INTO temptable FIELDS TERMINATED BY ',';
INSERT INTO my_table
SELECT id, val FROM temptable
ON DUPLICATE KEY UPDATE val = VALUES(val);
DROP TEMPORARY TABLE temptable;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)