CSV导入问题期间的MySQL更新

时间:2010-02-28 18:13:57

标签: mysql syntax import

好的,所以我有这个产品的CSV文件,所有产品都有一个ID号。我要将此CSV导入到现有(空)数据库表中,其中数据库中的列的名称与CSV文件中的第一行列完全相同。

数据库中有一个名为URI的额外列。我需要根据CSV文件中的信息在CSV文件的导入期间(或之后也可以)构建它。

例如,我知道URI将以 -

开头

http://foo.com/prodinfo.asp?number=

我需要附加基本构建URI并插入最后一个字段,以便URI看起来像 -

"http://foo.com/prodinfo.asp?number=" . $item_number . "&id=123456"

第一个字符串和最后一个字符串在每次迭代时都是相同的,只有item_number将根据数据库中的该列进行更改。

现在的问题。我可以轻松编写一个PHP脚本来为我做更新,但是,我不太了解MySQL是否可以在导入CSV期间完成,或者如果有一些简单的MySQL语法我可以在SQLyog中运行或者有什么可以做的,而不必每次都写/运行一个脚本吗?

好的,我认为这解释了,谢谢!

1 个答案:

答案 0 :(得分:1)

假设您的表名为table,而item_number列名为number,并且URI列名为URI,您可以在完成后立即发出以下SQL语句导入CSV:

UPDATE table SET URI=CONCAT('http://foo.com/prodinfo.asp?number=',number,'&id=123456');
COMMIT;

如果您不希望在每次导入后手动执行此操作,则可以让MySQL自动运行该语句as part of a trigger