【发布时间】:2015-01-23 20:13:00
【问题描述】:
如何更新现有行的 id(自动增量)字段,为其赋予通常会自动分配给新插入的值(即最高 id + 1)?
http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html 状态:
"...您也可以显式地将 0 分配给列以生成序列号。"
但这似乎不是真的。我已经尝试分配一个值 0,它就是这样做的......分配一个值 0。
我考虑过删除并重新插入该行,但这似乎很乱。
也试过了:
UPDATE example_table
SET id = (SELECT id+1 FROM example_table ORDER BY id DESC LIMIT 1)
WHERE id = 1000;
返回错误:您不能在 FROM 子句中指定目标表 'example_table' 进行更新
和:
UPDATE example_table SET id = max(id)+1 WHERE id = 1000;
返回错误:组函数使用无效
这似乎应该很容易......我错过了什么?
【问题讨论】:
标签: mysql auto-increment