MySQL使用序列1,2,3更新值,

MySQL使用序列1,2,3更新值,,mysql,sequence,Mysql,Sequence,我有一个位置为atribute“posite”且值未知的表(在我的示例“0”中),我想将其更新为1,2,3 之前: _______________ | title | posit | |---------------| | test | 0 | |-------|-------| | test | 0 | |-------|-------| | test | 0 | |-------|-------| | test | 0 | '------------

我有一个位置为atribute“posite”且值未知的表(在我的示例“0”中),我想将其更新为1,2,3

之前:

 _______________
| title | posit |
|---------------|
|  test |   0   |
|-------|-------|
|  test |   0   |
|-------|-------|
|  test |   0   |
|-------|-------|
|  test |   0   |
'---------------'
之后:

 _______________
| title | posit |
|---------------|
|  test |   1   |
|-------|-------|
|  test |   2   |
|-------|-------|
|  test |   3   |
|-------|-------|
|  test |   4   |
'---------------'
像这样的

UPDATE myTable 
SET posit = last_updated_value() + 1 
WHERE title='test';
有没有办法通过SQL命令来实现这一点?请注意,“posit”不是自动递增的。我只有PHP解决方案

谢谢
Henry

您将mysql作为标记,因此可以使用用户定义的变量。大概是这样的:

SET @incr = 0;
SELECT @incr:=@incr+1 FROM DUAL;

有关更多详细信息,请参阅。

这将只返回一行,值为1。这只是一个示例,而不是最终解决方案。下次运行select时,它将返回一个2.0的值。谢谢。你睁开我的眼睛。这就是最终的SQL。设置@incr=0;更新myTable集合posit=@incr:=@incr+1,其中title='test';