Ich muss eine DROP COLUMN-Routine zum Manipulieren von SQLite-Datenbanken schreiben.SQLite Dropspaltenroutine
Es wäre so etwas wie folgt aufgerufen werden:
dropColumn("SomeTable", "SomeColumn");
Die SQLite FAQ sagt, dass eine Spalte fallen zu lassen, haben Sie eine temporäre Tabelle zu erstellen, die Spalten enthält, die Sie wollen, und dann die Daten kopieren über zu und dann umbenennen.
Es sollte nicht zu schwer sein, das in eine Routine einzukapseln. Aber es sieht so aus, als wäre es nervig, es zu schreiben.
Sicher hat jemand da draußen schon eine solche Routine geschrieben. Wenn ja, kann ich es bitte stehlen? :)
Es ist im Grunde davon abhängig, welche Plattform Sie SQLite einsetzen wird auf. Es sei denn, Sie möchten SQlite mit der internen Routine neu kompilieren? – MPelletier
@MPelletier, die Plattform ist .Net. Aber ich denke, der Code sollte leicht auf jede andere moderne Plattform portierbar sein. Es sollte nur einige SQL ausführen und einige String-Manipulation durchführen. –
in diesem Fall, ja. Eine Sache, die verwendet werden kann, um die Tabelle leicht neu zu erstellen, ohne die ursprüngliche 'Create Table' zu analysieren, ist' PRAGMA table_info'. – MPelletier