Как мне скопировать весь столбец (включая тип данных) из таблицы sqlite в другую таблицу, используя python? - PullRequest
0 голосов
/ 10 марта 2011

Я пытаюсь написать функцию для удаления столбцов в sqlite (потому что иногда мне может потребоваться удалить слишком старые столбцы).

1 Ответ

1 голос
/ 10 марта 2011

С FAQ по SQLite :

SQLite имеет ограниченную поддержку ALTER TABLE, которую можно использовать для добавления столбца в конец таблицы или для изменения имени таблицы,Если вы хотите внести более сложные изменения в структуру таблицы, вам придется заново создать таблицу.Вы можете сохранить существующие данные во временную таблицу, удалить старую таблицу, создать новую таблицу, а затем скопировать данные обратно из временной таблицы.

Например, предположим, что у вас есть таблица с именем "t1" симена столбцов "a", "b" и "c" и которые вы хотите удалить из этой таблицы столбец "c".Следующие шаги иллюстрируют, как это можно сделать:

    BEGIN TRANSACTION;
    CREATE TEMPORARY TABLE t1_backup(a,b);
    INSERT INTO t1_backup SELECT a,b FROM t1;
    DROP TABLE t1;
    CREATE TABLE t1(a,b);
    INSERT INTO t1 SELECT a,b FROM t1_backup;
    DROP TABLE t1_backup;
    COMMIT;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...