update oder insert

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

  • update oder insert

    woher weiß ich wann ich update nehmen muss oder insert ?

    kann ich anstatt insert auch update nehem ?
    ich weiß halt noch nicht ob der wert schon drin ist oder nicht oder muss ich das auf jeden checken ?
    thx Mukraker

  • #2
    Wie willst Du updaten, wenn nix da ist?
    Warum prüfst Du nicht vorher, ob besagter Datensatz vorhanden ist und lässt dann entweder insert, oder update machen, je nachdem?
    Oder verkenne ich die Lage?

    Kommentar


    • #3
      nene so mach ich das bisher auch , aber dachte es geht evtl anders
      thx Mukraker

      Kommentar


      • #4
        ne leider geht es meines wissens nicht
        wär aber manchmal recht praktisch
        is manchmal schon doof immer select und dann update oder insert

        manchmal wenn ich die daten sowieso komplett habe lösche ich gleich und mach insert

        kommt das selbe bei raus

        Kommentar


        • #5
          Was is mit REPLACE?

          Kommentar


          • #6
            naja das würde ja nur bedeuten wenn alle gleich sind

            7.4.8 REPLACE-Syntax


            REPLACE [LOW_PRIORITY | DELAYED]
            [INTO] tabelle [(spalten_name,...)]
            VALUES (ausdruck,...),(...),...
            or REPLACE [LOW_PRIORITY | DELAYED]
            [INTO] tabelle [(spalten_name,...)]
            SELECT ...
            or REPLACE [LOW_PRIORITY | DELAYED]
            [INTO] tabelle
            SET spalten_name=ausdruck, spalten_name=ausdruck,...

            REPLACE funktioniert genau wie INSERT, ausser dass der alte Datensatz gelöscht wird, bevor ein neuer eingefügt wird, wenn ein alter Datensatz in der Tabelle denselben Wert wie der neue auf einem eindeutigen Index hat.
            oder versteh ich das falsch

            Kommentar


            • #7
              Jep, wenn mit einem Primary Key oder Unique kollidiert wird. Sonst wird ein neuer Datensatz hinzugefügt.
              Eigentlich wird ja glaub ich nichts anderes als ein Insert mit Delete vorher gemacht...

              ... ich kenn ja die Tab von mukraker ned und weiss net was er vor hat ...

              Kommentar


              • #8
                war aber ein guter hinweiß
                kannte replace zumindest nicht

                mfg

                Kommentar


                • #9
                  also mal als (für euch) neue info.

                  immer INSERT machen. wenn eine key-verletzung auftritt (error 1023), kann man ein UPDATE machen.

                  eine key-verletzung kann nur kommen, wenn natürlich auch keys gesetzt sind.
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar

                  Lädt...
                  X