我在MySQL表中有一个列,在添加新行时输入自动增量ID。 MySQL表中的数据被拉入HTML表格,HTML表格的行按ID列排序。通常这适用于我的目的,但我现在需要输入ID低于当前自动增量值的行,以便它显示在表格的下方。
所以,我想知道是否有办法,使用MySQL语句将1添加到特定行范围的ID值,例如将1添加到行800-850,以便它们现在为801-851,然后我可以手动插入ID值为800的新行。
答案 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