Schreibweise UPDATE String

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

  • Schreibweise UPDATE String

    Gibt es noch Alternative Schreibweisen des UPDATE-String?
    PHP-Code:
    UPDATE [LOW_PRIORITY] [IGNOREtbl_name
        SET col_name1
    =expr1 [, col_name2=expr2, ...]
        [
    WHERE where_definition]
        [
    LIMIT #] 
    ist bekannt. Was ich bräuchte wäre etwas wie beim INSERT
    String!
    z.B.:
    PHP-Code:
    UPDATE  tbl_name SET col_name1[, col_name2VALUES (expr1,
     [
    expr2, ...]) 
    Da es das aber warscheinlich nicht gibt habe ich:
    PHP-Code:
    $sql  ="DELETE FROM medien WHERE id=$id";

    $sql .="INSERT INTO medien SET 
    (medienid, id, datei1, datei2, datei3, datei4, datei5, datei6) VALUES 
    ('', '
    $id', 'datei1', 'datei2', 'datei3', 'datei4', 'datei5', 'datei6')"
    versucht. Das ist aber nix (oder doch, aber falsch gedacht???)

    Ich bin für jede Idee dankbar!
    1402: Für einen Wimpernschlag der Zeit herrschte Gerechtigkeit auf Nord- und Ostsee...

  • #2
    Probier's mal mit REPLACE INTO ...
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Danke schön!
      Eine Verständnisfrage noch.
      Sehe ich das richtig:

      REPLACE funktioniert genau wie INSERT d.h.

      bei einem neuen Eintrag kann ich das auch benutzen, ohne das
      ein Fehler zurückkommt?

      Warum nimmt man das dann nicht immer?

      Bruno

      P.S.
      dann kann man sich doch den UPDATE-Befehl auch sparen...?
      Oder?
      Zuletzt geändert von bruno123; 09.09.2002, 14:16.
      1402: Für einen Wimpernschlag der Zeit herrschte Gerechtigkeit auf Nord- und Ostsee...

      Kommentar


      • #4
        Wenn bereits ein Datesatz mit dem angegebenen Key vorhanden ist, wird der Datensatz überschrieben, ansonsten wird ein neuer Datensatz eingefügt.
        Ohne irgendeine Meldung.

        Es ist gut, dass es beides gibt, bei UPDATE wird der DS nicht überschrieben sondern nur aktualsiert. Du kannst ohne Probleme nur eine Spalte aktualisieren und den Rest beseite lassen. Bei Replace musst du natürlich alle spalten angeben..
        [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
        [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
        [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

        © Harald Schmidt

        Kommentar


        • #5
          Das würde bedeuten:

          PHP-Code:
          $sql="REPLACE INTO test (testid, id) VALUES ('', '$id')"
          würde dann bei einer tabelle mit mehr als den zwei spalten
          (testid,id,value1, value2, value3) nicht klappen,sondern so
          aussehen?
          PHP-Code:
          $sql="REPLACE INTO test (testid, id, value1, value2, value3) VALUES ('', '$id', '$value1', '$value2', '$value3')"
          Bei mir klappt das aber auch anders.... (oberes Bsp)

          Ist das evtl. ein Problem, was über kurz oder lang zu Chaos
          führt?
          Sollte ich das nicht machen?
          1402: Für einen Wimpernschlag der Zeit herrschte Gerechtigkeit auf Nord- und Ostsee...

          Kommentar


          • #6
            Du hast mich nicht verstanden. Beide Beispiele funktionieren natürlich, beim ersten gibst du allerdings nicht alle Spalten an, die restlichen werden dann mit dem Default Wert gefüllt.
            [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
            [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
            [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

            © Harald Schmidt

            Kommentar


            • #7
              Tja dann habe ich aber das Problem, dass ich einen DS nicht mit
              einzelnen Werten befüllen kann, oder? Heisst das, das z.B.

              REPLACE INTO medien (medienid, id, datei1, datei2, datei3, datei4, datei5, datei6) VALUES ('', '$id', datei1)

              evtl. vorhandene Werte für datei2-5 mit default überschreibt?

              Wie kann ich denn so einzelne Werte explizit updaten, dass kein
              Fehler zurückkommt, wenn noch kein DS vorhanden ist? Oder
              kann ich vielleicht etwas wie

              if (INSERT(blablabla...==$sqlfehler){
              UPDATE(blablabla...
              }

              machen?

              ADD: habz geschafft!

              Danke für eure Hilfe!
              Zuletzt geändert von bruno123; 12.09.2002, 15:29.
              1402: Für einen Wimpernschlag der Zeit herrschte Gerechtigkeit auf Nord- und Ostsee...

              Kommentar

              Lädt...
              X