当前位置:  开发笔记 > 数据库 > 正文

重新复制并重新订购表格

如何解决《重新复制并重新订购表格》经验,为你挑选了1个好方法。

我正在使用SQLite.我想创建一个与现有表的数据不同的新表.我尝试了以下内容,但它在Mozzilla SQLite管理工具或SQLite Manager中都不起作用.我究竟做错了什么?

INSERT INTO temp  (SnippetID, LibraryID,Name,  BeforeSelection, AfterSelection, ReplaceSelection, NewDocument, NewDocumentLang, Sort)
                           SELECT (SnippetID, LibraryID,Name,  BeforeSelection, AfterSelection, ReplaceSelection, NewDocument, NewDocumentLang, Sort)
                           FROM Snippets  ORDER BY LibraryID;

谢谢 - JZ



1> paxdiablo..:

我的问题是一个简单的"为什么?".SQL是一种关系代数,数据集只有在提取时指定它才有顺序.

谈论数据的顺序是没有意义的,因为您的数据库可以自由地强加任何它喜欢的顺序.任何体面的数据库都不会关心插入记录的顺序,只关注键和约束以及可用于有效存储和检索数据的其他属性.

只有当您使用a提取数据时才select ... order by需要修复订单.如果您希望能够有效地提取LibraryID列所排序的数据,只需将其编入索引并order by在提取数据时使用子句.

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有