Auge: MySQL 5

Beitrag lesen

Hallo

Ich habe in einer DB Tabelle Datensätze. Alle haben u.A. ein Feld [primarykey/AUTO_INCREMENT] ID, ein Feld DOC_ID und weitere Felder. Mich interessieren 5 Datensätze, die die selbe DOC_ID haben. Es sind bspw. 5 Datensätze mit der DOC_ID=3 in der Tabelle. Die hole ich mit einem SELECT heraus, bearbeite sie und will sie wieder abspeichern. Das bearbeiten kann aber auch bedeuten, dass ich einen dieser 5 Datensätze löschen, oder ich bspw. bei Editieren die Reihenfolge der 5 untereinander ändern möchte.

Da das Feld ID keine Rolle spielt, könnte man das in zwei Schritten lösen:

  1. DELETE FROM tbl_name WHERE DOC_ID=3
  2. INSERT INTO tbl_name (DOC_ID, label, value) VALUES(3,'a',1),(3,'b',2),(3,'c',3)

Damit würden 5 Datensätze gelöscht und danach 3 eingefügt. Die bekämen zwar eine neue ID, Aber die interessiert mich ja eh nicht.

Mit Hilfe des Feldes ID, welches einen Datensatz identifizieren soll, geht das auch in einem Schritt. Was hindert dich daran, die ID mit auszulesen und die Datensätze anhand dieser ID mit einem UPDATE bzw. DELETE zu behandeln? So, wie du das beschreibst, klingt das für mich wie von hinten durch die Brust ins Auge.

Tschö, Auge

--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war. Terry Pratchett, "Wachen! Wachen!" ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}