Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

MySQL Eintrag löschen

Jan_009
Profi (offline)

Dabei seit 09.2009
573 Beiträge

Geschrieben am: 24.12.2011 um 19:34 Uhr

Hallo,

ich steh grad Iwie komplett auf em Schlauch ...
Ich habe mir ein Art Newssystem gemacht, mit dem ich einfach Eintragungen in eine MySQL Tabelle mache und diese dann auch über PHP ausgeben lasse.
Soweit so gut, jetzt möchte ich aber die einzelnen Einträge auch wieder löschen können. Dazu môchte ich natürlich das nicht immer über phpmyAdmin machen, sondern über einen Button unter dem Eintrag machen.
Ich habe es auch mit Delete from ... Where id='1'
Nur jetzt möchte ich nicht nur den einen bestimmten löschen, sondern es soll möglich sein, dass ich auch einen anderen löschen kann.
Wie mache ich das?

Lach nie über jemanden, der einen Schritt zurück geht!! Er könnte Anlauf nehmen! -.-

TheBrainless - 37
Experte (offline)

Dabei seit 04.2005
1992 Beiträge

Geschrieben am: 24.12.2011 um 22:37 Uhr

willst du jeweils nur einen eintrag löschen? dann übergib doch beim löschen des eintrages an die url die id mit, welcher eintrag gelöscht werden soll (halt per GET/POST).
wenn du beim einlesen der id noch ein intval() drum rum packst, sollte das auch sicher sein vor mysql injections.

Mörps mörps blubbs!

scw - 41
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 24.12.2011 um 23:52 Uhr

Löschen aus relationalen Datenbanken ist immer keine sonderlich gute Idee und kann zu netten Seiteneffekten führen, wenn man mit Foreign-Key-Constraints. Besser ist es, eine "gelöscht"-Spalte zu machen und alle Einträge, die hier ein true stehen haben nicht anzuzeigen.

Nitek - 41
Champion (offline)

Dabei seit 01.2003
4129 Beiträge

Geschrieben am: 25.12.2011 um 00:18 Uhr

Zitat von scw:

Löschen aus relationalen Datenbanken ist immer keine sonderlich gute Idee und kann zu netten Seiteneffekten führen, wenn man mit Foreign-Key-Constraints. Besser ist es, eine "gelöscht"-Spalte zu machen und alle Einträge, die hier ein true stehen haben nicht anzuzeigen.


Wer hat dir das denn eingeredet? ^^
Wie überall sollte man sich erstmal gut überlegen was man löscht, aber aus Angst vorm Löschen lieber die DB zuzumüllen halte ich dann doch eher für unsinnig ;-)
scw - 41
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 25.12.2011 um 00:41 Uhr

Zitat von Nitek:

Zitat von scw:

Löschen aus relationalen Datenbanken ist immer keine sonderlich gute Idee und kann zu netten Seiteneffekten führen, wenn man mit Foreign-Key-Constraints. Besser ist es, eine "gelöscht"-Spalte zu machen und alle Einträge, die hier ein true stehen haben nicht anzuzeigen.


Wer hat dir das denn eingeredet? ^^
Wie überall sollte man sich erstmal gut überlegen was man löscht, aber aus Angst vorm Löschen lieber die DB zuzumüllen halte ich dann doch eher für unsinnig ;-)


Kommt natürlich auch immer auf das Datenmodell drauf an... aber mir ist vorhin auch eingefallen, dass MySQL im Normalfall Foreign-Key-Constraints gar nicht so macht wie Oracle & Co ;-)
Da kann es durchaus mal vorkommen, dass man einen Eintrag löscht und es gleich noch in anderen Tabellen Dinge löscht, die man eigentlich noch weiter behalten wollte...
Nitek - 41
Champion (offline)

Dabei seit 01.2003
4129 Beiträge

Geschrieben am: 25.12.2011 um 11:15 Uhr

Zitat von scw:

Kommt natürlich auch immer auf das Datenmodell drauf an... aber mir ist vorhin auch eingefallen, dass MySQL im Normalfall Foreign-Key-Constraints gar nicht so macht wie Oracle & Co ;-)


Kann MySQL schon, wenn man z.B. die InnoDB Engine verwendet.

Zitat von scw:

Da kann es durchaus mal vorkommen, dass man einen Eintrag löscht und es gleich noch in anderen Tabellen Dinge löscht, die man eigentlich noch weiter behalten wollte...


Dazu braucht mein keine Foreign-Key-Constraints :-D Das schaffen die meisten auch so, wenn sie ihr delete falsch formulieren :-D
  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2025 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -