Hallo,
ich möchte in meiner eigenen QT-GUI für meine SQLite-Datenbank Datensätze löschen können, jedoch sollen die Daten natürlich konsistent bleiben. D.h. wenn Datensätze in einer Tabelle gelöscht werden, müssen auch die Daten in der damit verknüpften n:m-Tabelle gelöscht werden.
QSqlQuery akzeptiert ja leider nur ein SQL-Statement, sodass dieses Löschen über 2 Tabellen nicht so einfach geht.
Ich habe mich bereits mit Triggern, wie hier http://www.rcs-comp.com/site/index.php/ ... _generator versucht, aber dadurch auch keinen Erfolg erzielen können.
Auch ON DELETE CASCADE als Eigenschaft der Spalten scheint nicht zu funktionieren.
Ich hoffe jemand hat das gleiche Problem und eine gute Lösung gefunden, oder kann mir Tipps geben :<
Ich nutze SQLite 3.7.9
SQLite: In zwei Tabellen gleichzeitig löschen (gelöst)
SQLite: In zwei Tabellen gleichzeitig löschen (gelöst)
Zuletzt geändert von liupo am 1. April 2013 23:43, insgesamt 1-mal geändert.
Re: SQLite: In zwei Tabellen gleichzeitig löschen
2 SQL's = 2 QSqlQuery und das ganze in eine Transaction verpacken.
ODT Informatik GmbH, Reto Tschofenig
Re: SQLite: In zwei Tabellen gleichzeitig löschen
Vielen Dank,
bzgl. der Transactions hatte ich mich darin verrannt, BEGIN TRANSACTION und COMMIT etc. in die queries selbst zu schreiben, was jedoch nicht funktionierte.
Mit db.transaction(); und db.commit(); funktioniert es nun.
bzgl. der Transactions hatte ich mich darin verrannt, BEGIN TRANSACTION und COMMIT etc. in die queries selbst zu schreiben, was jedoch nicht funktionierte.
Mit db.transaction(); und db.commit(); funktioniert es nun.