php - 将excel文件上传到mysql时消除重复条目

标签 php mysql upload phpexcel


我正在开发一个应用程序,网站管理员可以在其中上传 excel 表以将数据上传到数据库。当然我用this用于将文件上传到我的 mysql 数据库的优秀库。

问题 一切正常,但现在的问题是,如果管理员上传列表,我必须在页面上向管理员显示上传的数据,并要求他确认上传点击按钮。直到确认点我将数据存储在数据库的临时表中。管理员确认后,我将其移至数据库中的永久表并删除临时表中的条目。现在如果管理员编辑相同excel,即他向其中添加了更多记录并再次上传,之前的记录得到重复,这是不应该发生的。

我想检查 excel 文件中的记录是否已经存在(基于与每条记录关联的唯一 id)。这不是主键,而是一个编号。与数据库和 Excel 工作表中存在的每条记录关联。

我正在寻找有关如何在删除临时表信息时检查记录是否已存在的建议。我可以将临时表数据(如果没有删除)与每次上传的文件数据进行比较吗?如何检查文件记录是否与数据库中的一次相似并仅上传新添加的记录?

任何建议,都有助于走正确的路。
谢谢关注

最佳答案

要识别新记录,请在临时表和永久表上使用左连接或右连接(您的偏好)将新记录插入永久表。您还可以使用此技术来确定是否需要从永久表中删除记录。

正如@Pynner 在他之前的评论中指出的那样,使用内部联接来执行更新数据库中当前的记录。

有关如何使用左右联接等的说明,请参阅此答案Is there any way to check whether or not the query inside a MySQL trigger returns an empty set?

关于php - 将excel文件上传到mysql时消除重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17633347/

相关文章:

javascript - TYPO3 ajax 无法确定扩展和插件的默认 Controller

php pdo sql 如果行存在则返回

php更新mysql

php - 使用 Sentry 登录 Facebook,用户 [email] 需要密码,没有给出

mysql - 查找第二个最近日期的最有效方法

php - 如何用数组值编写 php 三元运算符

php - 如何在 PHP/MYSQL 查询中使用今天日期的 UNIX 时间戳值?

PHP整理上传的照片

php - 你如何处理PHP中的临时图片上传?

php - undefined index 错误 - 图片上传相同的代码正在处理另一个示例