我必須在PHP發票中生成增量數字,從1開始。 我的想法是創建一個自動增量字段從1開始的表格。 當用戶付款時,我看在保存的最後一個條目的表格中,我得到它的字段值(自動增量一),然後我使用+1來生成發票號碼,並使用新的發票號碼保存一個新條目以跟蹤它。我的想法是否正確?如果2個用戶同時查看錶格(2個查詢)怎麼辦?在這種情況下,他們將從最後保存的價值中獲得相同的價值,並最終生成相同的發票編號。這是否會發生? Tahnks。PHP/MySQL生成增量發票號碼
回答
無需插入新值,因爲自動增量會爲您執行此操作,如果您需要在屏幕上跟蹤正確的發票號碼,我建議使用臨時表來保留髮票號碼分配給該用戶,所以當2或者更多用戶正在工作,他們將在屏幕上顯示不同的發票號碼,則可以進行查詢,以檢查兩個表上的最大ID,以免它們在屏幕上重複。
儘管使用autoincrement id,它不應該重複發票號碼。
不,不要這樣做。如果您需要在用戶首次創建發票號碼時顯示發票號碼,請在第一次顯示時在數據庫中創建條目,然後可以在屏幕上顯示此號碼,然後使用發票的相關更新更新該發票。
不知道您使用的是什麼框架,通常當您執行Insert
命令時,會返回一個允許您訪問自動遞增的ID的框架。
插入命令的返回告訴你已經受到影響的行數。您無法從那裏知道新的自動遞增的ID。但是,如果在插入查詢後會有選擇,那麼除了最大ID之外,還應該添加更多條件以限制獲取錯誤插入行的危險。 –
@VassilikiM。你是對不起,但是你可以根據你使用的庫從其中一個函數獲得ID,並根據當前連接返回它,這將防止OPs問題中的併發問題。 https://stackoverflow.com/questions/1685860/how-do-i-get-the-last-inserted-id-of-a-mysql-table-in-php – Rudiger
哦,我不知道這些替代品。儘管我相信這些調用的內部邏輯可能會隱藏一個SELECT方法,不管這些方法是什麼但不影響我們,所以這是一個很好的解決方案。感謝提及它! –
- 1. 生成發票
- 2. 生成發票
- 3. c#winform如何生成門票號碼
- 4. 使用PayPal生成發票號碼和顯示金額
- 5. 發票號碼觸發器
- 6. Magento獲得發票號碼
- 7. Magento的增值稅號PDF發票
- 8. Magento:創建發票號碼=訂單號的發票?
- 9. 如何生成發票
- 10. 使用reportlab生成發票
- 11. 使用Rails生成發票
- 12. 定期生成發票
- 13. 生成發票和跟蹤
- 14. 生成並打印發票
- 15. 在PHP和MySQL中生成連續的發票號碼(併發性)
- 16. Rails應用程序不同賬戶的增量門票號碼
- 17. 生成發票後通過電子郵件發送發票opencart
- 18. 從掃描的發票中提取發票號碼,發票日期等pdf(Java)
- 19. 在MS Access VBA中生成連續的發票號碼,#每年重新啓動
- 20. 增量所選號碼3
- 21. 如何高效地生成更大的彩票號碼集
- 22. XSLT生成增量值
- 23. 發電機=「遞增」是否足夠用於連續發票號碼?
- 24. MySQL發票號碼範圍與計數
- 25. 從WooCommerce訂單獲取發票號碼
- 26. 在ASP.NET C#中生成報表(發票)#
- 27. 的Prestashop,生成發票(PDF)自動
- 28. PDF Magento中的發票生成
- 29. django 1.6中發票生成的建議
- 30. PHP支票號碼
不,這是不正確的做法...自動增量的重點在於它可以爲您工作,並且可以安全地進行工作....插入新的空發票以獲取號碼,然後更新它與細節 –