添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
坏坏的猴子  ·  sqlite ...·  3 月前    · 
刚失恋的蚂蚁  ·  sql - Fastest Way ...·  3 月前    · 
玩足球的杯子  ·  Data Factory Data ...·  10 月前    · 
纯真的生姜  ·  css ...·  2 年前    · 
  • 创建一个新表,与原始表具有相同的架构和索引:
  • CREATE
    
    
    
    
        
     TABLE new_table AS SELECT * FROM original_table WHERE 0;
    

    这将创建一个名为new_table的新表,其结构与original_table相同,但是不会复制原始表的数据。

  • 添加原表中的所有索引到新表:
  • SELECT name, sql FROM sqlite_master WHERE type = 'index' AND tbl_name = 'original_table';
    

    此命令将返回原始表的所有索引的名称和创建SQL语句。将这些SQL语句复制到剪贴板中。

    然后,使用以下命令将所有索引添加到新表:

    PRAGMA foreign_keys=off;
    BEGIN TRANSACTION;
    <将从上面的命令中复制的索引SQL语句粘贴到这里>
    COMMIT;
    PRAGMA foreign_keys=on;
    

    此命令将禁用外键约束,然后使用事务将所有索引添加到新表中,并重新启用外键约束。

  • 最后,将原始表的数据插入新表中:
  • INSERT INTO new_table SELECT * FROM original_table;
    

    这将从原始表复制所有数据并将其插入新表中。

    现在,您可以使用new_table进行操作,并且它将包含原始表的所有数据和索引。

    请注意,在复制表和索引之前,最好备份数据库以防意外发生。

  •