Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Usuwanie kolumn z tabel SpatiaLite
03-01-2012, 01:41 PM (Ten post był ostatnio modyfikowany: 03-01-2012 04:17 PM przez tomalos.)
Post: #1
Usuwanie kolumn z tabel SpatiaLite
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
Znajdź wszystkie posty użytkownika
Zacytuj ten post w odpowiedzi
04-01-2012, 07:12 PM (Ten post był ostatnio modyfikowany: 04-01-2012 07:13 PM przez rob3rt.)
Post: #2
RE: Usuwanie kolumn z tabel SpatiaLite
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.
Znajdź wszystkie posty użytkownika
Zacytuj ten post w odpowiedzi
Odpowiedz 


Skocz do: