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