ID 姓名 年龄
1 sss 15
2 fffff 20
3 ddd 16
如何在第二行和第三行之间插入一条记录呢 考虑了好久 我有个方案不知道可行不 就是 复制第三行数据到一个地方 然后删除第三行 在添加一条记录 在把第三行复制回来(具体实施不会了呵) 或者有其他方案的 指点一下 谢谢大家
你好是这样的 我的ID是自动扩展的 按照楼下那位说的我就明白了 数据行是固定的然后用序号进行排列 我的ID 现在是1 2 3 是不是要改成2 4 6 8 这样的 然后插入的时候插入一个“7” 序号的 排列的时候自动就“显示插入了”的效果了呢 2 4 6 7 8这样了 对吗 另外我可以把ID设置成主键码 本人刚接触SQL 小白呵 简单的说我要实现我项要的效果的话 当然我的理解开始是错误的 是不是就是索引排列就能解决呢 具体解决方法呢 (有个新方法 直接设置ID列为 10 自动扩展为10 效果是 10 20 30 这样的 在添加一条设置ID列为15 这样就实现了在 中间插入的效果 但是ID列得重新排列一下也就是还原成 10 20 30 40 (原来的15变成了20 )这样的 但是重新排列ID列自动扩展怎么写哦)
你好 马上完成了在帮我下 马上结贴呵 你说的 insert into 表名 vaules(4, 'eee', 18, 25) 这样确实能解决 但是ID列是自动递增的话 手动去更改ID值无法更改 直接 INSERT INTO添加可以吗 也就说 ID 10 20 30 这样的 然后插入一行后 ID是 25 那么就实现了“插入行的” 功能 就是用排列的功能实现了谢谢你 QQ 3881880807 加我下可以吗
追答ID列仍然保留,增加辅助列sort_order。ID列的值自动增长,但是sort_order列可以任意改动。输出时按照sort_order列排序。
追问SORT_ORDER列排序的话 我理解咯 是这样的 如果添加一行的话 ID列是自动扩展 STORT里面的值怎么写啊 也设置为自动扩展不行吗 初始种子10 扩展10 10 20 30 这样的 然后添加的时候加入15 然后 重新在排序下 10 20 30 40 添加的15变成了20 行吗
追答sort_order不能设成自动扩展的标识列,一旦设置了标识列,就不能用insert语句显示地插入值了。
另外插入的15也不会自动变为20.
LZ不要为了排序的问题太纠结。这个问题没有多少实际的应用意义。