mysql - 向包含特定字符串的每一行添加值

标签 mysql

我有 2 个相互关联的 mysql 表。第一个表包含 postIDfileID。第二个表包含 postID,其值与上一个表中的值相同。

我想做的是:

选择第一个表中 fileID 等于 XXX 的每个 postID。现在,对于选定的行,我想将每个 fileID 行减去 10000

好吧,假设它选择了 10 行,并且 10 个 postID 减去了 10000 个值。问题是我想在第二个表中减去相同的 postID

我是mysql新手,我不知道如何处理它。你能帮我吗?

输入表1 enter image description here

输入表2 enter image description here

输出表1 enter image description here

输出表1 enter image description here

最佳答案

在 MySQL 中,您可以通过在更新语句的表表达式部分中使用联接来在单个查询中更新多个表:

update t1 inner join t2 on t1.postID=t2.postID
set t1.postID=t1.postID-10000, t2.postID=t2.postID-10000
where t1.fileID=xxx

关于mysql - 向包含特定字符串的每一行添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38100210/

相关文章:

Javascript 倒计时和时区

java - hibernate : invalid ORDER BY expression

php - 交响乐团 : creating invalid MySQL code?

c# - MySql 数据库中的 EF 重命名列

mysql - 如何在 INNER JOIN 语句中使用括号

php - MySql 定时查询

php - 更改每个 session 的 MySQL 模式

php - 从中选择两列并显示它

mysql - 无法使用 mysql 启动应用程序 jhipster

Mysql 使用正则表达式更新数据