2

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

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

4

3 回答 3

6

您需要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
于 2013-02-03T10:35:55.580 回答
2
update [yourtablename] 
set [youridfieldoftable]=[youridfieldoftable] + 1 
where [youridfieldoftable] >= 800 
  and [youridfieldoftable] <= 850

确保用正确的名称替换表和字段名称。该字段是相同的四次。

于 2013-02-03T10:36:05.507 回答
0

为了避免错误

键“P​​RIMARY”的重复条目 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
于 2021-03-04T10:59:05.963 回答