mysql - 将数字设置为同一事务中计数器表中的列

标签 mysql innodb

我有一个表,根据“document_type”保存计数器

TABLE: document_counter
document_type = "general"
last_number = 100

TABLE: document
document_id
document_number
document_type
description
...

如果我需要创建一个新的“文档”但将下一个可用编号放入“document_number”中,处理交易的正确方法是什么?我应该进行两笔交易还是如何进行?

最佳答案

John Watson是的,交易应该就是您所需要的。

根据您使用的数据库管理系统,如果您首先更新文档计数器然后读取新数字,则可以锁定该行以供读取。

只有在提交当前事务后,下一个事务才能访问它,从而获得正确的下一个数字。

关于mysql - 将数字设置为同一事务中计数器表中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8221199/

相关文章:

c# - 未处理的异常 : MySql. Data.MySqlClient.MySqlException:键 'CC2-2012-04-10-201205' 的重复条目 'PRIMARY'

php - CRUD,在“添加”或“编辑”中单击“保存”后

MySQL/MariaDB InnoDB 同步事务和锁定行为

Mysql外键并允许在现有字段上为空

php - PC崩溃后Xampp mysql innodb恢复失败

mysql - 适用于所有 session 的符合标准的 MySQL 样板

php - MySQL:如何根据不同的列仅返回一个表中不存在于另一个表中的唯一条目?

mysql - md5 也用于电子邮件吗?

一台服务器上跨多个 InnoDB 数据库的 MySQL 事务

mysql - mysql 处理涉及多个分区的查询是针对每个分区并行处理还是串行处理?