我有一个发票表(innoDB),我需要在其中手动设置下一张发票的累进编号。我现在的代码是
SELECT MAX(invoice_n) FROM invoices WHERE invoice_y = 2013
然后定期保存记录,放置新的 invoice_n = max + 1。我在 invoice_n-invoice_y 上有一个索引 UNIQUE,我正在记录数据库错误,所以我看到有时我有重复的键输入错误,因为我有数百个不同的连接的用户。我将代码放在一个循环中,一直持续到生成发票,但我认为可以有一个更优雅的解决方案,尤其是使用交易。我读了一点,但我不明白如何通过交易来实现我的结果。
有什么帮助吗?