好的,所以我有这个产品的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中运行或者有什么可以做的,而不必每次都写/运行一个脚本吗?
好的,我认为这解释了,谢谢!
答案 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。