我正在开发一个程序,它会定期从.csv文件中读取数据并将其导入我的数据库。 csv是来自另一台服务器上的数据库的副本,因此当我上传到新服务器时,表结构会有所不同。
我不确定的是每晚进行此操作的最佳方法,并希望自动化该过程。有什么建议? 数据库是Apache服务器上的MySQL
答案 0 :(得分:0)
我认为最好的解决方案是创建一个PHP脚本来操作csv数据,并将文件格式与数据库中的表相匹配。之后,您可以设置一个cron作业(linux)或计划任务(windows),以便在您所需的时间和递归时自动运行脚本。希望这会对你有所帮助。
答案 1 :(得分:0)
考虑在定时脚本上使用LOAD DATA INFILE查询,使用PHP,Python或其他语言上传到临时表:
LOAD DATA INFILE 'filename.csv'
INTO TABLE tempname
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
然后运行追加查询,将不同的结构化临时表数据迁移到最终表中。
INSERT INTO finaltable (Col1, Col2, Col3,...)
SELECT [Col1], [Col2], [Col3], ... FROM tempname