我有一个sqlite表,我需要排序.我熟悉ORDER BY命令,但这不是我想要完成的.我需要在数据库中排序整个表.
说明:
我的表使用一个名为“rowid”的列来设置表的顺序(一个键?).我需要通过名为“name”的另一列对表进行排序,然后根据’name’按字母顺序重新分配rowid数字.可以这样做吗?
任何帮助将不胜感激!
非常感谢!
假设您创建了原始表,如下所示:
CREATE TABLE my_table(rowid INTEGER PRIMARY KEY,名称TEXT,somedata TEXT);
您可以创建另一个排序表,如下所示:
CREATE TABLE my_ordered_table(rowid INTEGER PRIMARY KEY,somedata TEXT);
INSERT INTO my_ordered_table(name,somedata)SELECT name,somedata FROM my_table ORDER BY name;
如果您想要替换orignal表:
DROP TABLE my_table;
ALTER TABLE my_ordered_table重命名为my_table;