mysql - 如何在 MySQL 中自动增加 +1 特定行数

标签 mysql sql syntax

我有一个 MySQL 表,其中有一列,我想为特定行数(其中 id_sample='2')自动增加 +1 值。您怎么看,我可以通过单个查询将其存档,或者我需要逐行更新 :(。 我的表格的简短预览是:

+----------+----------+---------+
| id       | id_sample| degrees |
+----------+----------+---------+
| 361      |    2     |    0    |
| 362      |    2     |    0    |
| 363      |    2     |    0    |
| 364      |    2     |    0    |
| 365      |    2     |    0    |
| 366      |    2     |    0    |
| ...      |  ....    |   ....  |
+----------+----------+---------+

我想存档:

+----------+----------+---------+
| id       | id_sample| degrees |
+----------+----------+---------+
| 361      |    2     |    1    |
| 362      |    2     |    2    |
| 363      |    2     |    3    |
| 364      |    2     |    4    |
| 365      |    2     |    5    |
| 366      |    2     |    6    |
| ...      |  ....    |   ....  |
+----------+----------+---------+

我试过这个查询(见下文)但我得到了所有行的增量:相应的 id_sample='2':

UPDATE myTable SET degrees=degrees+1 WHERE id_sample='2';

最佳答案

如果可以使用变量。这是一个解决方案:

SET @rownum=0;
UPDATE myTable SET degrees=(@rownum:=@rownum+1) WHERE id_sample='2';

受此启发:Display Rownum issue MySQL

关于mysql - 如何在 MySQL 中自动增加 +1 特定行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15199744/

相关文章:

mysql - 如何在MYSQL中获取每个月的最大日期

MySQL 在带有 If 条件的 While 循环中设置变量

Mysql连接三张表(其中两张相似)

MySql 插入值或增加字段

mysql - 获取值(value),在列中重复多次

mysql - 使用 Zend Framework 2 TableGateway 加入子查询

java - 如何为日期范围的子句编写 hql 查询?

python - % 与 + 与 Python 中的字符串相关?

php - php中==和===有什么区别

ruby - Ruby 中的语法错误 : "syntax error, unexpected end" when using an invalid operator 不清楚