Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL löschen eine Zeile + Informationen dazu (https://www.delphipraxis.net/186568-mysql-loeschen-eine-zeile-informationen-dazu.html)

youuu 12. Sep 2015 19:10

Datenbank: Mysql • Version: 5 • Zugriff über: Uni

MySQL löschen eine Zeile + Informationen dazu
 
Hi,

ich habe eine Frage bezüglich des löschens einer / mehrere Zeilen in MySQL.

per
Delphi-Quellcode:
If query.RowsAffected > 0 then
frage ich ab wieviel Rows gelöscht wurden. Wenn mindestens ein Löschvorgang erfolgt ist, möchte ich gerne wissen, welchen Inhalt dieser hatte.

Gelöscht wird z.B. per "LIKE '%xxx%'". Da dies dann 'abc xxx' und 'xxx abc' sein kann, möchte ich genau wissen welche angaben aus meiner Tabelle gelöscht wurden und nicht nur die Information haben das alles mit '%xxx%' gelöscht wurde.


Gibt es dafür einen Befehl?

Bernhard Geyer 12. Sep 2015 19:15

AW: MySQL löschen eine Zeile + Informationen dazu
 
ja, vor dem löschen einfach ein entsprechendes select-statement abschicken

youuu 12. Sep 2015 19:31

AW: MySQL löschen eine Zeile + Informationen dazu
 
Die Möglichkeit kannte ich, dachte es gäbe vielleicht einen direkten Befehl wie
Delphi-Quellcode:
query.RowsAffected

Perlsau 12. Sep 2015 21:11

AW: MySQL löschen eine Zeile + Informationen dazu
 
Irgendwie schon seltsam: Erst leer man den Mülleimer, um sich hinterher zu fragen, was da wohl alles drin gewesen sein mag. Scherz beiseite:

Wenn es darum geht, zu überprüfen, was gelöscht wurde, insbesondere bei Multiuser-DB-Anwendungen, gibt es grundsätzlich zwei Lösungsmöglichkeiten:
  1. Man bietet dem Anwender zwar ein Löschen an, setzt dabei im Hintergrund jedoch lediglich ein Flag in der DB (ein Boolean-Feld), das den Datensatz als gelöscht kennzeichnet. Der Anwender bekommt nur Datensätze zu sehen, bei denen dieses Flag nicht gesetzt ist.
  2. Man verwendet eine zweite Tabelle, in der die gelöschten Datensätze so lange aufbewahrt werden, bis sie von irgend einem Vorgesetzter überprüft wurden.

Sir Rufo 12. Sep 2015 21:49

AW: MySQL löschen eine Zeile + Informationen dazu
 
Zitat:

Zitat von youuu (Beitrag 1315632)
Die Möglichkeit kannte ich, dachte es gäbe vielleicht einen direkten Befehl wie
Delphi-Quellcode:
query.RowsAffected

Wenn das so wäre, dann stellen wir uns mal vor was passiert wenn wir auf einen Schlag eine Tabelle mit 200 Millionen Datensätzen leeren. Kleiner Befehl, grosse Wirkung :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz