Existiert der Datensatz ?

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

  • Existiert der Datensatz ?

    Hallo,
    ich habe mal wieder ein Frage an die Experten.
    Ich würde gerne in einer MySQL-DB überprüfen ob ein Datensatz vorhanden ist. Dies sollte aber schnell und resourcenschonend sein. Gibt es eine schnelle Möglichkeit dies durch den MySQL-Server via EXIST oder so zu erledigen ? Die PHP-Version via affect_rows oder so dürfte wohl nicht die schnellste version sein.
    Für Tips wäre ich dankbar.
    Gruß

    Mike

  • #2
    wenn du einfach nur prüfen möchtest ob ein Satz existierst, dann mach einfach nur ein select auf die DB.

    Für einen Insert würde ich einen primary-Key und einfach hoffen das er Satz gespeichert wird, falls nicht, war der Datensatz bereits vorhanden.

    cu
    berni

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Hi Berni,

      gibt es denn keine elegantere Lösung ?

      Gruß

      Mike

      Kommentar


      • #4
        Nicht wirklich, wie willst du es denn sonst prüfen, ob der Datensatz existiert?? Du kannst natürlich auch ne txt-Datei anlegen, um das zu prüfen, legst alle Einträge einmal in die DB und ne kurzinfo in ne Datei, aber da ist die Sache mit dem kurzen Select sinniger

        gruss

        Kommentar


        • #5
          Hi again,

          eleganter würde ich eine Abfrage bezeichnen,
          der man einen Wert xxx im Feld yyy mitgibt, und die dann ein Ergebnis 0 oder 1 zurückgibt ob ein Datensatz mit dem Wert xxx im Feld yyy gibt.

          Ich weiß nicht ob es so etwas in SQL gibt, habe es auf jeden Fall in der Doku nicht gefunden.
          So was wie:

          SELECT EXIST FROM db WHERE yyy = xxx

          Das würde ich eleganter empfinden.
          Gruß
          Mike

          Kommentar


          • #6
            hmm,

            ich weiss ja nicht was du willst, was ist das Problem wenn du machst
            SELECT id FROM tab WHERE bla = bedingung ?
            Kommt nix zurück ist nix da, ich meine resourcetechnisch gehts nicht besser, du kannst noch einen Index auf die Id (etc. was immer du willst) anlegen damit es noch schneller geht.

            Kommentar


            • #7
              stimmt, kommt nichts zurück, nur müßte ich dann mit
              mysql_errno($conID);
              nochmals abfrage was der select ergeben hat.

              Na ja, sollte aber von dem Zeitaufwand nicht viel ausmachen.

              Ich danke Dir für deine Unterstützung

              Gruß

              Mike

              Kommentar


              • #8
                hmm,

                if (!(mysql_fetch_row($result)) { echo"nix da";}

                sollte gehen.

                Kommentar

                Lädt...
                X