Hallo Leute,
ich muss für eine Datenbank ein paar Grundfunktionen bereitstellen. Als erstes wollte ich angehen doppelte Werte zu löschen. Versucht habe ich es folgendermaßen:
Code :
1
| sprintf(pSQL, "delete from tab where Zahl = 1.2 limit 3 offset 1"); |
Hier wird mir jedesmal ein SQL-Error an den Kopf geworfen wie folgt:
"SQL error: near "limit": syntax error"
Ich meine irgendwo gelesen zu haben, das delete ähnlich wie select funktioniert und habe direkt mal ausprobiert:
Code :
1
| sprintf(pSQL, "select * from tab where Zahl=1.2 limit 3 offset 1"); |
Hier klappt alles wie ich will, ich habe 3 mal diesen Wert in der Tabelle vorhanden und er wird 2 mal ausgegeben.
Habe das nach diesem Schaubild versucht aufzubauen
Kann mir vielleicht einer auf die Sprünge helfen, wieso das also bei delete nicht funktioniert, oder ggf eine bessere Variante liefern?
Grüße Jennesta
Was soll daran kompliziert sein? Es muss doch nur ein Rad bewegt werden, man kann aufsteigen, es kommt die Matschhütte und durch den Regenbogen gelangst du zum hungrigen Affen, der Affenschwanz wird gezogen und bums kommst du zum Paradispark.
Danke für die schnelle Antwort. Scheinbar habe ich den Part, wo das mit der compile-Option steht überlesen. Da es in der Grafik so selbstverständlich drinnen stand, hatte ich es doch als gegeben angenommen.
Zu deinem Einwand - sicher ist nicht gerade die intelligenteste Weise mit dem löschen, jedoch war mir das am schnellsten eingefallen und ich habe in meiner Tabelle auch keine ids vergeben um solche Fälle einfach zu prüfen.
Aber gut, ich schaue mal ob ichs irgendwie gebacken bekomme.
Was soll daran kompliziert sein? Es muss doch nur ein Rad bewegt werden, man kann aufsteigen, es kommt die Matschhütte und durch den Regenbogen gelangst du zum hungrigen Affen, der Affenschwanz wird gezogen und bums kommst du zum Paradispark.