Pit: Betroffene Datensätze / mysqli

Beitrag lesen

Hallo Pit,

nein, das geht nicht. Dafür müsstest Du die zu löschenden IDs vorher mit einem SELECT holen.

Hi Rolf,

ja, das habe ich mir gedacht. Deshalb mache ich es bisher so, wie Du vorschlägst, also über einen zuvorigen select.

Muss es wirklich sein? Jede Lösung, die auch im Multiuser-Betrieb wasserdicht ist, müsste während des Löschvorgangs erstmal Locks setzen und die DB ausbremsen.

Nein, das muß grad nur temporär sein, weil ich zu Debuggingzwecken feststellen möchte, an welcher Stelle ungerechtfertigt IDs gelöscht werden. Aber ich glaube, ich habe die Stelle soeben schon gefunden. Ich habe einen "Where-Zusatz" vergessen, der dafür sorgt, dass nicht nur IDs des betroffenen Vorgangs gelöscht werden, sondern alle Vorgänge zu betroffenen Vorgängen macht.

Meine Query hätte also:

SELECT ID FROM tabelle WHERE Bedingung = ... AND ID NOT IN (SELECT ID FROM tabelle2 WHERE ...);

Danke für die Hilfe jedenfalls,

Pit