【问题标题】:Mysql Query - increase values where value is greater than X but less than YMysql Query - 增加值大于X但小于Y的值
【发布时间】:2013-02-20 18:01:41
【问题描述】:

我想更改数据库中一行的值。

例如:它叫做USERID,以ID 2000 开头,以用户ID 3000 结尾。所以我有1000 个条目。我想更改所有ID,从一个新数字开始,并在每个条目中增加+1。

例如,用户 ID 以 5000 开头,以 6000 结尾。

这个有mysql查询吗?

【问题讨论】:

  • USERID 是主键吗?
  • 是的,它是唯一的主键
  • 对于您的示例,您只是想向该范围内的所有 USERID 字段添加一个常量,还是尝试重新编号?换句话说,假设用户 2001 不存在,用户 2000 是否会变为用户 5000,用户 2002 是否会变为用户 2003?还是用户 2002 变成了用户 5002?
  • 是的,用户 ID 2000 将变为用户 ID 5000,而 2001 将变为 5001。我只需要将所有用户 ID 更改为更高的数字。从 5000 而不是 2000 开始。真正的原因是我必须将一个数据库添加到另一个具有相同结构的数据库。但是两者都有相同的用户标识,所以我必须更改其他数据库的所有数量。就像从 5000 开始一样,因为另一个数据库以 ID 5000 结束。

标签: php mysql phpmyadmin


【解决方案1】:
UPDATE Entrys 
SET USERID = (USERID + 4000) 
WHERE ID >= 2000 
AND ID <= 3000

此代码将在 2000 到 3000 之间的每个 USERID 上添加 4000,这意味着它们将被重新编号为 6000、6001 等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-02
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多