MySQL使用序列1,2,3更新值,
我有一个位置为atribute“posite”且值未知的表(在我的示例“0”中),我想将其更新为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 | '------------
_______________
| 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';