我想把表里的自增字段按照另一字段的排序进行重构,有办法吗?

hisi 2003-10-31 02:36:03

如表中两个字段,ID自增 Date时间
现在我想把ID按照Date的升序从1递增重写。可以做到吗?
ps:数据量有百万
...全文
49 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hisi 2003-10-31
  • 打赏
  • 举报
回复
不会啊,我很小心的,有办法吗?
shuixin13 2003-10-31
  • 打赏
  • 举报
回复
用 UPDATE ???
呵呵,
那安全性太低了,
操作失误,你的数据就完了
hisi 2003-10-31
  • 打赏
  • 举报
回复
方法二很霸道哦,可是刚刚发现,我连Alter的权限都没有,更别提关闭MySQL服务了。。

难道就不可以update一个字段,让他升序吗?
shuixin13 2003-10-31
  • 打赏
  • 举报
回复
方法2:

删除 ID 主键字段

关闭 MySQL 服务,


然后用 mysisamchk.exe 的 -R 开关进行表数据物理排序
然后启动 MySQL 服务,
添加一个自增主键




:)
GOOD LUCK!

一定要注意备份原表噢!!!


myisamchk 的用法参看
http://www.mysql.com/doc/en/myisamchk_other_options.html
hisi 2003-10-31
  • 打赏
  • 举报
回复
谢谢犬犬,可是我没有Create权限。
我希望能用一个Update解决,可以吗?
shuixin13 2003-10-31
  • 打赏
  • 举报
回复
新建一个新表,
只留一个 ID 主键,
其它索引均不要设置


然后用 INSERT INTO ... SELECT ... ORDER BY ... LIMIT N,M

格式的语句将数据分批注入,

最后重新构建必要的索引

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧