DROP TABLE löscht nicht die gespeicherten Daten

  • Hallo,


    wenn ich DROP TABLE verwende, löscht er nur die Tabellendefinition, aber nicht die Daten. Weiß jemand woran das liegen kann?

  • Ich hab einfach mal die Datei in Scite geöffnet, um zu schauen ob was drinsteht.
    Und das ist es mir dann aufgefallen, dass noch die einträge drine stehen.

  • Also ich kann dein Problem nicht nachvollziehen. Bei mir sind in der Datei mit_Drop_Table.db keine Datensätze mehr vorhanden. -Sqliteman-

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.


  • Das ist eine kleine Besonderheit von SQLite (weiß allerdings nicht ob es bei anderen DBMS ähnlich läuft).
    SQLite handelt ähnlich einem Dateisystem. Heißt: Daten werden nicht gelöscht sondern lediglich Ihr Platz zum späteren Überschreiben frei gegeben.
    Wenn man den freigegebenen Platz manuell löschen will dann haut man noch ein "VACUUM"-Befehl hintendran oder arbeitet mit "auto_vacuum".


    Zur Verdeutlichung:


    Edit: bei PostgreSQL läuft es ähnlich.

  • TRUNCATE TABLE - löscht den kompletten inhalt, falls du das zuerst ausführen willst und dann DROP TABLE :)

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • dann kann man bestimmt ein alias auf "DELETE FROM table;" erstellen, dann funzt truncate auch ;)

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • Hallo,
    bevor es los geht mit Datenbanken (DB) könntest Du Dein SQLite updaten ( http://www.sqlite.org/ ).
    DB sind zum Speichern und verwalten großer Datenmengen. Die Daten werden nicht sortiert.


    DB stellen ein unabhängiges System dar, die sogar eine eigene Sprache mitbringen - SQL!
    Eine DB entwickeln würde ich, also separat von den Sprachen, wie C++, Java oder Autoit ( siehe auch http://www.ruhrtaler-softwareschmiede.de/bitmagie/sqlite ).
    Eine vorhandene DB lässt sich, dann von allen Sprachen ansprechen (wie C++, PHP, Java oder Autoit).



    Hier die au3-Datei: