文章详情页
MySQL如何记录一张表格的插入操作次数
浏览:61日期:2022-06-13 16:02:48
问题描述
要求是表里插入记录时,name是日期+当天它是第几个插入的,比如20170408003。
我的解决办法是:mysql里存一个count;一个触发器,插入一条记录后count+1;一个事件,每天0点count=0;每次插入数据,name是当前日期+(count+1)。
可是问题来了,这个count存在哪里呢?系统变量是不能创建的,用户变量是会话级别的,客户端连接断了就没了。
所以这个count该存在哪里呢,难不成新建一个表来存?
求大神指点~
问题解答
回答1:这个问题只要统计次数的话设一个自增id列就好了嘛,加一个时间戳字段,没必要一定放一个字段里吧 要做统计的时候取每天的最大和最小id做个减法就出来了
回答2:我觉得再存一张表吧
回答3:个人可能会通过文件缓存做 (通过数据表,redis之类的逻辑差不多)
缓存数据 [’count’ => 0, ’day’ => ’yyy-mm-dd’] //count => 记录当前记录数, day =>当前记录的是哪一天的数据
每次有新数据插入的时候根据day 确认count是否需要重置并更新day为当前日期
count++
更新缓存文件
如果有redis的话还是用它吧.
回答4:该问题并非统计,实则是讨论如何实现自增id。如果能够使用redis该问题能够得到妥善解决,因为redis是单线程的,且提供原子的incrAndGet()命令INCR和原子的getAndSet()命令GETSET。
相关文章:
1. css - .clearfix:after中为什么设置display: table2. java - IDEA 修改方法注释模板3. javascript - Vue和React哪个源码更适合阅读学习?不谈框架优劣,只从学习的角度出发,希望知其所以然。4. javascript - angular-cli使用ng build --prod 和ng build --prod --aot 打包文件大小相同?5. 网站上有个图标改不了了 求帮忙 是用svg写的6. java - JPA 中自定义对象和原生对象属性名不一致怎么解决?7. node.js开发微信公众账号设备功能问题,求解答!!8. python - django 按日归档统计订单求解9. node.js - Angular-webpack-Starter, 怎么把NodeJS添加进项目里?10. python - 基于scrapy-redis的分布式爬虫运行的时候不能正常运行 遇到的问题如下截图所示
排行榜
