dongshang6062 2017-06-20 22:12
浏览 45

PHP / MySQL生成增量发票号

I have to generate in PHP invoices with incremental numbers starting from 1. My idea is to create a table with an autoincrement field starting from 1. When a user makes a payment, I look at the table for the last entry saved, I get its field value (the autoincrement one) and I make +1 to generate the invoice number and I save a new entry with the new invoice number to keep track of it. Is my idea correct or not? What about if 2 users looked at the table at the same time (2 queries)? In this case they will both get from it the same last saved value and will end up with the same invoice numbers generated. Is this something that can happen? Tahnks.

  • 写回答

2条回答 默认 最新

  • dongxi6897 2017-06-20 23:26
    关注

    There is no need for inserting the new value because the autoincrement do that for you, if you need to track the correct invoice number onscreen, I suggest a temp table that keeps the invoice number assigned to that user, so when 2 or more users are working they will have diferent invoice numbers on screen, you can make a query that check the max id on both tables so it will never be duplicated on screen.

    Although with the autoincrement id it shouldn't duplicate the invoice numbers.

    评论

报告相同问题?

悬赏问题

  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线