计算插入数据库中的新记录的最简单方法是什么?加载查询中是否可以包含计数查询?
还是需要更复杂的东西,例如记录现有的最后一条记录并计算之后添加的所有内容?
编辑:
我有一个cron作业,它在直接传递给mysql的脚本中使用LOAD DATA INFILE.此数据与php Web应用程序一起使用.作为php Web应用程序的一部分,我需要生成每周报告,包括在上周插入了多少条记录.
我无法修补mysql,也无法彻底更改数据库架构/结构,但可以添加新表或字段.我宁愿不计算csv文件中的记录,也不将结果存储在文本文件或其他内容中.取而代之的是,我希望通过PHP在PHP中执行所有操作.
解决方法:
假设您使用的是Mysql 5或更高版本,则可以创建一个触发器,该触发器将在插入到特定表中时触发.请注意,“插入”触发器也会通过“ LOAD”命令触发.
使用触发器将需要您将计数信息保存在单独的表中.基本上,您需要创建一个具有1行/列的新表来保存计数.然后,触发器将使用加载的数据量来更新该值.
编辑
另外,如果您不想将数据持久存储在数据库中,则可以在存储过程中执行“加载”操作.这将允许您在开始加载之前和加载完成之后在表上执行select count().您只需要减去结果值即可确定在加载期间插入了多少行.
标签:load-data-infile,sql,mysql
来源: https://codeday.me/bug/20191107/2003537.html