mysql - 如何保证更新mysql中的最新行
问题描述
假设我有一个名为table_config
:
id ,bigint(20),primary key,
table_id, varchar,
x, varchar,
y, varchar
active, tinyint
每个 table_id 应该只有 1 条active
记录。每次我想更新x
时,我都会为该 table_id 创建一条新记录,并为旧记录设置 active=0 。
现在我只想更新y
而不创建新记录。所以我在我的 java 应用程序中执行以下步骤:
- 阅读旧记录。
- 设置
y
为新值。 - 通过主键(id)更新记录
我的问题是,当我更新记录时,我如何保证x
在执行上述步骤期间没有新记录发生更改,或者,我如何保证我在 table_id 的最新记录上更新 y?
这会工作吗?:
UPDATE table_config
set y='y'
where id=(SELECT id from table_config whre table_id=`table_id` and active=1);
谢谢关心。
解决方案
推荐阅读
- javascript - Angular 组件级服务注入另一个组件级服务
- linux - 组播和集群
- python - 用 x 值范围填充 matplotlib 上的 x 和 y 值
- docker - 通过 Jenkinsfile 在 docker 主机上限制并发构建
- ruby-on-rails - 如何在不使用 Javascript 的情况下删除用户帐户?
- php - 在遍历 Drupal 8 EntityQuery 结果时达到 PHP 内存限制。我该如何保持下去?
- html - 在 HTML5 模板中嵌入 Youtube
- python - tkinter 对话框突出显示父条目文本
- python - 在自定义 Jupyterhub 身份验证器中设置 spawner 环境变量
- ibm-mobilefirst - 如何从 MFP 8.0 中的 java 适配器异步调用 javascript 适配器?