如何将特定MySQL行的ID值增加1?

时间:2013-02-03 10:31:54

标签: mysql auto-increment

我在MySQL表中有一个列,在添加新行时输入自动增量ID。 MySQL表中的数据被拉入HTML表格,HTML表格的行按ID列排序。通常这适用于我的目的,但我现在需要输入ID低于当前自动增量值的行,以便它显示在表格的下方。

所以,我想知道是否有办法,使用MySQL语句将1添加到特定行范围的ID值,例如将1添加到行800-850,以便它们现在为801-851,然后我可以手动插入ID值为800的新行。

3 个答案:

答案 0 :(得分:5)

您需要让auto-incrementation单独工作,并在表格中创建一个新字段table_id,以设置您想要的id号码。

重置表id绝不是一个好主意:例如,不要忘记表id上链接的所有外键。

要将1增加到您的特定id号码,它将是:

UPDATE your_table SET table_id = table_id + 1 WHERE table_id BETWEEN 800 AND 850

答案 1 :(得分:2)

update [yourtablename] 
set [youridfieldoftable]=[youridfieldoftable] + 1 
where [youridfieldoftable] >= 800 
  and [youridfieldoftable] <= 850

请务必使用正确的名称替换表格和字段名称。这个领域是四次。

答案 2 :(得分:0)

为了避免错误

<块引用>

键 'PRIMARY' 的重复条目 x

在 sdespont 建议查询中添加 ORDER BY 子句

UPDATE your_table SET table_id = table_id + 1 WHERE table_id BETWEEN 800 AND 850 ORDER BY table_id DESC