PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PERL: DBI-SQLite



rthill
27-03-2006, 23:55
Hi Leute,

Bei Perl DBI SQLite bin ich am Verzweifeln bei einer Lösung für eine Datenbank Kolonne hinzuzufügen. Beispiel:

CREATE TABLE LOCATIONS ( loc0 INT(3) NOT NULL, loc1 INT(3) NOT NULL );
dies ist meine Ursprüngliche Tabelle mit Inhalt. Jetzt soll die Tabelle erweitert werden um loc2, mit:

ALTER TABLE LOCATIONS ADD loc3 INT(3) NOT NULL;
das funktioniert nicht da SQLite V2.x wie in Perl DBD::SQLite enthalten die Funktion ALTER nicht kennt.
Meine Frage, wie kann ich eventuell durch umkopieren der Tabelle dies erfolgreich erledigen:confused:

Danke im Voraus für Hilfe!

michael.sprick
28-03-2006, 07:59
Hi,

welche DBD::Sqlite Version benutzt Du denn? Mein Kollege meint gerade, dass das ab 1.08 funktioniert...

michael

Joghurt
28-03-2006, 13:01
Dann tritt deinem Kollegen mal in den Hintern ;)


2005 March 21 (3.2.0)
* Added support for ALTER TABLE ADD COLUMN.ALTER TABLE ging schon vorher, nur Spalten konnte man nicht hinzufügen.

Joghurt
28-03-2006, 13:03
Meine Frage, wie kann ich eventuell durch umkopieren der Tabelle dies erfolgreich erledigen:confused:Neue Tabelle anlegen, SELECT * FROM alte_tabelle machen und die Ergebnisse in die neue Tabelle einfügen, z.B.

Oder auf SQLite 3.2 umsteigen.

rthill
28-03-2006, 13:15
Ich benutze die letze DBD::SQLite (1.11) aus dem PPM von ActiveState.

Neue Tabelle anlegen, SELECT * FROM alte_tabelle machen und die Ergebnisse in die neue Tabelle einfügen, z.B.

Oder auf SQLite 3.2 umsteigen.

Problem, kann ich den ein Dump oder ähnliches in SQLite machen damit ich weiss welche Tabellen in die neue Tabelle reinkommen?

SQLite 3.x ist leider nicht in Perl implementiert.