在给定的数据库结构可以在运行时更改的情况下,如何处理并发的SQL更新

纳曼节

我正在开发Spring MVC应用程序

目前,我正在使用innodb mysql,但我也必须开发该应用程序以支持其他数据库。

谁能建议我如何处理单个记录上的并发sql更新。

假设两个用户试图更新同一记录,然后如何处理这种情况。

注意:我的数据库结构取决于某些配置(它可以在运行时更改),并且我的spring控制器本质上是单例的。

谢谢。

更新:仅供参考,我将实现类似https://stackoverflow.com/a/3618445/3898076的版本

土狼

事务是涉及并发sql更新的必经之路,在春季,您可以使用事务管理器。

至于数据库结构,据我所知MySql不支持DDL命令的事务,也就是说,如果在更新的同时更改结构,则很可能会遇到问题。

要处理使用同一数据的多个用户,您需要在表上实现手动的“锁定”或“版本”字段,以跟踪最新更新。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在运行时不使用@PostContruct的情况下使用数据库中的值初始化inputtextfield?

在我的情况下如何在运行时填充数据?

如何使用 Gramex FormHandler 动态(在运行时)创建或更改数据库模式

Hibernate-如何在运行时反映数据库中的更改?

如何在运行时更改 PrismaClient 数据库连接?

如何在运行时使用模型切换SQL数据库

WHERE 子句在运行时确定,这可以在没有动态 SQL 的情况下使用 CASE 完成吗?

是否可以在运行时确定对象选择的情况下使用C ++对象组成?

jhipster:在PROD模式下运行时,如何避免数据库更新?

当应用程序运行时数据库关闭时,如何处理MySQL CommunactionException

使用通用存储库和IoC在运行时更改数据库

是否可以在不限定数据库名称的情况下运行雪花SQL脚本。

如何在不构造对象的情况下,在运行时设置数组大小?

在类型仅在运行时已知的情况下,如何创建对象?

如何在运行时提供数据库名称并将所有更改迁移到它

如何在 .NET 程序中提取 DBMS 请求,同时能够在运行时更改数据库

多个数据库,其模型稍有变化。如何在运行时允许EF与不同的数据库结构一起使用?

如何在不更新实际数据库的情况下更改DBIx :: Class对象的值

在运行时更改laravel中的默认数据库

使用 MVC WebApi 2 在运行时更改数据库

在Codeigniter中在运行时更改数据库连接

CSV导入数据库,在运行时更改外键属性

我可以通过在运行时指定数据库来使用JPA吗?

是否可以在运行时从数据库模式生成JPA实体类?

使用Hibernate在运行时创建数据库?

在运行时选择Firebase数据库

在运行时迁移不同的数据库

如何在不丢失数据的情况下对 Auto Call Recorder App 进行结构性数据库更改?

当KSQL服务器在无头模式下运行时,如何处理流数据?