Forum QGIS
Usuwanie kolumn z tabel SpatiaLite - Wersja do druku

+- Forum QGIS (http://forum.quantum-gis.pl)
+-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html)
+--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html)
+--- Wątek: Usuwanie kolumn z tabel SpatiaLite (/thread-633.html)



Usuwanie kolumn z tabel SpatiaLite - tomalos - 03-01-2012

Jakim narzędziem/wtyczką mogę w prosty sposób usunąć kolumny w tabeli/warstwie, która znajduje się w bazie SpatiaLite? W Table manager nie można, qspatiaLite można chyba tylko tworzyć nowe albo usunąć całą tabelę/warstwę.

Edycja
--------
Doszedłem, że nie da się tego zrobić bo SQLite nie obsługuje "DROP COLUMN". Można to jakoś obejść?
Być może może tak by dało radę (proszę mnie skorygować - nie znam się na SQL):

CREATE tabela_nowa (
guid TEXT PRIMARY KEY,
kolumna TEXT,
kolumna2 INTEGER
);

INSERT INTO tabela_nowa SELECT guid, kolumna, kolimna2 FROM tabela_stara;
DROP TABLE tabela_stara;
ALTER TABLE tabela_nowa RENAME TO tabela_stara;

Tylko nie wiem jak przenieść geometrię do nowej tabeli ze starej Sad


RE: Usuwanie kolumn z tabel SpatiaLite - rob3rt - 04-01-2012

W spatialite-gui jest opcja usuwania kolumny. Z palca łatwiej użyć:"create table nazwa-tabeli-tymczasowa as select" i wybieramy wszystkie kolumny poza tą do usunięcia. Na koniec jak u Ciebie drop table i rename. W spatialite-gui jest też zacne narzędzie do wybierania.