gpt4 book ai didi

Mysql - 加载文件中的数据 - 跳过 Mysql 版本 4 中的列

转载 作者:行者123 更新时间:2023-11-29 00:21:40 29 4
gpt4 key购买 nike

我正在尝试使用以下方法将一些数据导入数据库:load data infile。

例如:

我有一个包含两列的表(名称:tab):colAcolB

文件中有三列,示例文件内容:value1|value2|value3

我希望 value2 转到 colA,value3 转到 colB。我不需要 value1。

在 Mysql 5 中我是这样做的:

LOAD DATA INFILE <filename>
REPLACE
INTO TABLE tab
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\r'
(@dummy, colA, colB);

效果很好,但问题是当我尝试在 Mysql 4 中执行此操作时。有一个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@dummy, colA, colB)' at line 6

我查看了 mysql 文档:http://dev.mysql.com/doc/refman/4.1/en/load-data.html在 mysql 中,文件中的 4 个值无法保存到用户变量(在我的示例中保存到 @dummy)。

您是否知道如何在 Mysql 4 中仅导入(使用文件中的加载数据)文件中的某些列?

谢谢

最佳答案

您可以将数据加载到临时表中,然后使用 REPLACE ... SELECT :

CREATE TEMPORARY TABLE tmptab LIKE tab;
ALTER TABLE tmptab ADD COLUMN dummy TEXT;

LOAD DATA INFILE <filename>
INTO TABLE tmptab
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\r'
(dummy, colA, colB);

REPLACE INTO tmp (colA, colB) SELECT (colA, colB) FROM tmptab;

DROP TEMPORARY TABLE tmptab;

关于Mysql - 加载文件中的数据 - 跳过 Mysql 版本 4 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20801904/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com