Thomas Schmieder: MySQL: welcher Datentyp für IPs ?

Hallo,

so langsam muss ich selber mal ins Eingemachte und die Basis für unsere Internet-Plattform legen. Die letzten Wochen jonnte ich hier von Euch viele gute Anregungen für die Vorgehensweise einsammeln -danke dafür - und vielleicht auch dem Einen oder der Anderen helfen.

Jetzt kommen die Fach- und Philosphiefragen:

Wir wollen für jede Datensatzveränderung bestimmte Metadaten speichern. Die IP des Verursachers soll dabei sein.

Welchen Datentyp und warum sollte ich dafür nehmen? Macht es Sinn, die im Textformat=>gepunktete Dezimalform von PHP gelieferte IP ($REMOTE_ADDR) in eine Biginteger-Größe umzurechnen? Sollte man die Textform nehmen, aber immer auf drei Stellen (194.025.016.162) auffüllen?

Wie kann mann nachher am Besten übliche Bereiche von Netzen oder Hosts (aus)sortieren?

Wer hat da Erfahrung und mag mir auf die Sprünge helfen?

Grüße

Tom

  1. hi,

    Wer hat da Erfahrung und mag mir auf die Sprünge helfen?

    also so große erfahrung hab ich zwar nicht, aber ich benutze immer varchar(15).
    Aber die führenden nullen schreibt man bei einer ip eigentlich nicht, wozu auch. man hat ja die punkte später als "trenngrenzen"
    uli

    1. Hallo Uli,

      Aber die führenden nullen schreibt man bei einer ip eigentlich nicht, wozu auch. man hat ja die punkte später als "trenngrenzen"

      wegen der Sortierung in Listen. Ich will ja, dass .026 vor .120 steht. Bereichsabfragen lassen sich ohnehin in dieser Form schwer machen.

      Aber ich habe noch Hoffnung, dass einer ne passende Idee für mich hat.

      Tom

      1. Hi Tom,

        Aber die führenden nullen schreibt man bei einer ip eigentlich nicht, wozu auch. man hat ja die punkte später als "trenngrenzen"

        wegen der Sortierung in Listen. Ich will ja, dass .026 vor .120 steht. Bereichsabfragen lassen sich ohnehin in dieser Form schwer machen.

        Aber ich habe noch Hoffnung, dass einer ne passende Idee für mich hat.

        die Sortierung hat meiner Ansicht nach doch nicht viel mit dem Datentypen zu tun, oder?
        Bei dem select machst Du einfach ein "....order by ip".

        Ich weiß aber jetzt nicht, ob ich Dich mißverstanden habe.

        Reiner

        1. Hallo Reiner,

          Aber die führenden nullen schreibt man bei einer ip eigentlich nicht, wozu auch. man hat ja die punkte später als "trenngrenzen"

          wegen der Sortierung in Listen. Ich will ja, dass .026 vor .120 steht. Bereichsabfragen lassen sich ohnehin in dieser Form schwer machen.

          die Sortierung hat meiner Ansicht nach doch nicht viel mit dem Datentypen zu tun, oder?
          Bei dem select machst Du einfach ein "....order by ip".

          Sortierung hat nur was mit Datentypen zu tun. Leider. Und einen für IPs gibts eben nicht.

          Also muss ich die nächstbeste Lösung wählen.

          Tom