我正在编写一个脚本,将CSV文件导入我的数据库中的现有表。我决定使用PHP和INSERT / UPDATE语句自己进行插入/更新操作,而不是使用MySQL的LOAD INFILE命令,我有充分的理由。
我想要做的是模拟插入/更新操作并将结果显示给用户,然后为他们提供确认这是正常的选项,然后将更改提交到数据库。
我正在使用InnoDB数据库引擎来支持事务。不确定这是否有帮助,但是考虑插入/更新,查询数据,显示给用户,然后提交或回滚事务?
任何建议都将不胜感激。
答案 0 :(得分:5)
更简单的方法就是这样。
在预览页面上:
然后在确认页面上:
答案 1 :(得分:0)
您可以将数据导入单独的“导入”表格。向用户显示表格的结果。如果他单击“确定”,则将该数据复制到主表并删除导入表。如果他点击“取消”,只需删除导入表。
应该逐个用户选择导入表名,以便不同的用户不会覆盖他们的表。
事务在这里没有帮助,因为当PHP导入脚本完成时,事务将回滚。