Schönen Tag liebe Community,
Ich habe wiedermals ein Problem bei dem ich selbst nicht weiterkomme...
Untzwa möchte ich gerne eine Tabelle in SQLite schritt für schritt überprüfen und gegbenenfalls anpassen,
dies soll so geschehen damit ich im nachhinein einfach ändreungen an der tabellenstruktur vornemen kann ohne die bereits vorhandenen daten zu verlieren.
Da SQLite allerdings die "if not exists" Clause bei Alter Table nicht unterstützt muss ich mich da jetzt irgentwie drumrum schreiben.
Ich bin schonmal dazu gekommen mit PRAGMA table_info die daten abfragen zu wollen, dies funktionirt jedoch nicht und mir wird immerzu nur ein:
Syntax error near "("
ausgegeben...
(
Dem neben dem table_info!)
Code:
dbC.Open; //Datenbank Erstellen falls nicht vorhanden.
// erstelle Tabelle User falls nicht vorhanden
dbQ.SQL.Text:='CREATE TABLE if not exists ''user'' (id varchar(36) primary key)';
dbQ.ExecSQL; dbT.Commit;
//erstelle spalte name falls nicht vorhanden
dbQ.SQL.Text:='SELECT name FROM PRAGMA table_info (user)';
dbQ.ExecSQL; dbT.Commit;
if dbQ.EOF = True then
begin
dbQ.SQL.Text:='ALTER TABLE user ADD COLUMN name varchar(20) unique';
dbQ.ExecSQL; dbT.Commit;
end;
danach würde nnoch mehrere spalten kommen, diese sind dan ja aber einfach Copy/Paste....
Ich habs auchschon mit
Code:
dbQ.SQL.Text:='SELECT name FROM PRAGMA table_info(user)';
und
Code:
dbQ.SQL.Text:='SELECT name FROM PRAGMA table_info (''user'')';
Probiert leider ohne Ergebniss.
Schonmals vielen Dank für eure Antworten.