db einträge kopieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • db einträge kopieren

    hallo,
    ich habe 4 tabellen. und würde nun gerne einen z.B. den
    eintrag mit
    der id 5 mit allen spalteninhalten kopieren zu id 6.

    wie kann man dies denn am einfachsten machen ohne alle
    tabellen
    abfragt und dann nach einander wieder einträgt.

    gibt es da auch etwas einfacheres? danke

  • #2
    UPDATE bla,blub,trash SET id=5 WHERE id=4

    CAT Music Files

    Kommentar


    • #3
      aber das läuft doch trotzdem hinaus, dass ich zuerst alle daten auslesen muss oder?

      gibt es nicht so was wie einen copy befehl? -> eine tabelle hat nämlich 20 spalten und dann ist das auslesen echt umständlich

      Kommentar


      • #4
        Wenn Du einen primären Index änderen willst kommst Du nicht umhin sämtliche Relationen manuell zu ändern. Dafür wird Dir sicher kein Datenbankhersteller Unterstützung bieten, denn dieses Vorhaben ist ansich absolut unnotwendig. Sorry, aber es ist so. Ich weiß auch daß Du einen Grund hast danach zu fragen.

        Ich denke man muß sich dessen bewußt sein, daß die ID eine Identifikation darstellt und nichts anderes, und sollte so belassen werden, wie sie ist und nicht aus kosmetischen Gründen geändert werden, um beispielsweise "unschöne" Löcher zu stopfen. Was ist schon unschön? Die Gefahr ist einfach zu groß durch Manipulationen dieser Art die Relationen zu zerstören. Mit diesen "unschönen Löchern" sollten Anwender gar nicht konfrontiert werden.

        Ob eine ID den Wert 3 oder 785789 aufweist ist doch im Rahmen eines relationalen Datenmodells absolut belanglos. Verknüpfungen über IDs dienen der Relationsfunktionalität im Hintergrund. Im Normalfall sollte der Benutzer keine Kenntnis vom ID-Inhalt haben müssen.

        Wenn IDs "löcherfrei" doch am Frontend anzuzeigen sind, so wäre primär zu überlegen, ob dies nicht durch ein zusätzliches Display-ID Feld zu lösen besser wäre. Dieses zusätzliche Feld kann verändert werden, ohne daß sein Inhalt irgendeinen Einfluß auf die Datenbankfunktion hat, und so jederzeit veränderbar, löcherfrei dem Benutzer zur Anzeige gebracht werden können.

        Kommentar


        • #5
          mhmm *grübel* ich glaube irgendwie habe ich das wohl alles falsch ausgedrückt

          also z.B. habe ich zwei tabllen.
          die eine heißt tab1 und hat 5 spalten. davon eine "id" und eine tabelle die heißt tab2 und hat 10 spalten und auch eine spalte "id"

          nun möchte ich die reihe von id 5 mit allen werten in den 9 spalten aus tab2 und den 4 spalten aus tab1 kopieren.

          so dass es eine neue reihe in der tab1 und tab2 gibt die eine andere id haben (beide die gleiche) aber die gleichen werte der restlichen 9 bzw. 4 spalten wie der eintrag mit der id 5.

          ist so etwas so ungewöhnlich wenn man so etwas machen will ?? *grübel*

          Kommentar


          • #6
            in phpmyadmin gibt es doch auch die möglichkeit einen datensatz "als neuen datensatz" zu speichern. weiß vielleicht jemand wie der sql-befehl dafür lautet?

            Kommentar


            • #7
              Neuen Datensatz anlegen

              Steht eigentlich in jedem Handbuch oder auf MySQL-Seiten:
              INSERT INTO tableBla (column1,column2...)
              VALUES('$Value1','$Value2'...)
              Also: Viel Spaß damit.
              M.

              Kommentar


              • #8
                also das weiß ich auch noch

                ich will doch keinen neuen datensatz anlegen. ich suche nach einem copy / duplicate befehl um einen bestehenden datensatz einfach zu duplizieren ohne ihn zuerst auslesen zu müssen und dann wieder eintragen zu müssen. insgesamt sind es nämlich fast 40 spalten und das ist ja dann super umständlich.

                Kommentar


                • #9
                  Du musst ihn vorher zwingend auslesen - mach dir die Mühe (PHP).
                  Anmerkung: Falls du so etwas regelmäßig bzw. beim Normalbetrieb vorhast, würde ich dir dringend empfehlen, deine DB-Struktur zu überdenken.

                  CAT Music Files

                  Kommentar

                  Lädt...
                  X