Announcement

Collapse
No announcement yet.

Existenz überprüfen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Existenz überprüfen

    Hallihallo zusammen!
    Ich habe ein kleines Problem mit SQL:
    Ich soll bei einer Datenbank diese Dateien herausfiltern, welche zwar eine Nummer haben, aber physikalisch nicht existieren.
    Diese Dateien sollte ich dann löschen. vielleicht kann mir ja jemand von hier helfen??

    Gruss aus der Schweiz!^^

  • #2
    Das wirst du nicht mit reinen SQL-Mitteln lösen können. Jedenfalls kenn ich bei MySQL keinen Befehl um Dateien zu löschen.

    Du musst mit OS-API-Mitteln im entsprechenden Verzeichnis welche Dateien vorhanden sind (Unter Windows FindFirst/FindNext/...) und dann jeweils in der DB nachschauen (SELECT * from MyTable where FileName = <Dateiname> (Sinnvoll über Parameter gemacht). Und falls keine Ergebnisdatensatz vorhanden -> Datei löschen.

    Comment


    • #3
      Oh entschuldigung! ich muss nicht die Datei löschen, sondern nur die entsprechende Zeile in der Datenbank! habe mich unverständlich ausgedrückt!^^

      Comment


      • #4
        Der Weg bleibt der gleiche wie @Bernhard Geyer beschrieben hat.

        Alle vorhandenen Dateien ermitteln und dann die Datensätze löschen welche nicht in dieser Liste sind:
        Code:
        DELETE FROM <tabelle> WHERE <feld> NOT IN(<kommagetrente liste der nummern>)
        Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

        Comment


        • #5
          hmmm... und es gibt keine einfachere Antwort?? was zum beispiel sind OS-API-Mittel??

          Comment


          • #6
            OS = Operation System (Oft Windows) - API = Application Programming Interface, Für Windos unter Win32/Win64-API bekannt.

            Comment

            Working...
            X