Php 在MySQL中预览更新/插入查询的结果而不修改数据库?
我正在编写一个脚本,将CSV文件导入数据库中的现有表中。我决定自己使用PHP和insert/update语句来执行insert/update操作,而不是使用MySQL的LOAD INFIE命令,我有充分的理由这样做 我想做的是模拟插入/更新操作并将结果显示给用户,然后让他们选择确认这是正确的,然后将更改提交到数据库 我正在使用支持事务的InnoDB数据库引擎。不确定这是否有帮助,但考虑了插入/更新、查询数据、向用户显示,然后提交或回滚事务Php 在MySQL中预览更新/插入查询的结果而不修改数据库?,php,mysql,transactions,innodb,Php,Mysql,Transactions,Innodb,我正在编写一个脚本,将CSV文件导入数据库中的现有表中。我决定自己使用PHP和insert/update语句来执行insert/update操作,而不是使用MySQL的LOAD INFIE命令,我有充分的理由这样做 我想做的是模拟插入/更新操作并将结果显示给用户,然后让他们选择确认这是正确的,然后将更改提交到数据库 我正在使用支持事务的InnoDB数据库引擎。不确定这是否有帮助,但考虑了插入/更新、查询数据、向用户显示,然后提交或回滚事务 任何建议都将不胜感激。更简单的方法就是这样 在预览页面上
任何建议都将不胜感激。更简单的方法就是这样 在预览页面上:
更简单的方法是这样的 在预览页面上:
您可以将数据导入到单独的“导入”表中。向用户显示表格中的结果。如果他单击“确定”,则将该数据复制到主表并删除导入表。如果他单击“取消”,只需删除导入表 导入表名称应按用户选择,以便不同的用户不会覆盖其表
事务在这里对您没有帮助,因为当PHP导入脚本完成时,事务将回滚。您可以将数据导入到单独的“导入”表中。向用户显示表格中的结果。如果他单击“确定”,则将该数据复制到主表并删除导入表。如果他单击“取消”,只需删除导入表 导入表名称应按用户选择,以便不同的用户不会覆盖其表
事务在这里对您没有帮助,因为当PHP导入脚本完成时,事务将回滚。我可能也会这样做。不要忘记祈祷没有其他人修改中间的数据;)有没有办法把桌子锁上,直到做完。它需要允许选择,但如果我可以锁定对表的插入/更新,那就太好了。不需要Mysql magic。甚至php的信号量也会在脚本完成后释放。所以你必须使用你自己的信号系统。祝你好运我可能也会这样做。不要忘记祈祷没有其他人修改中间的数据;)有没有办法把桌子锁上,直到做完。它需要允许选择,但如果我可以锁定对表的插入/更新,那就太好了。不需要Mysql magic。甚至php的信号量也会在脚本完成后释放。所以你必须使用你自己的信号系统。祝你好运