Frage zur Integerlänge

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

  • Frage zur Integerlänge

    Hallo Leute,
    wenn ich mit create Table neue Tabellen anlege dann
    kann ich ja zum Beispiel bei einem Interger Feld in Klammern
    die Länge des Integers dazuschreiben...
    aber was hat das genau zu bedeuten...
    also zum Beispiel
    wo liegen die Grenzen wenn ich INT(10) benutze

  • #2
    gute frage, ich dachte immer, das stünde auf http://www.mysql.com/doc/de/Column_types.html
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      INT[(M)] [UNSIGNED] [ZEROFILL]
      A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295.
      M
      Indicates the maximum display size. The maximum legal display size is 255.
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        genau das hab ich auch gedacht...
        aber da ist ja nur der gesamte Bereich
        und der Vorzeichenlose Bereich aufgeführt...

        was ich mir vorstellen könnte ist das die Zahl die
        Anzahl der verwendeten Bytes repräsentiert?

        edit:
        @MelloPie
        hmm...was meinen die mit "display size"
        Zuletzt geändert von deluxer; 21.03.2004, 11:25.

        Kommentar


        • #5
          Original geschrieben von deluxer
          hmm...was meinen die mit "display size"
          M
          Gibt die maximale Anzeigebreite an. Die größte erlaubte Anzeigebreite ist 255.


          unsigned int(4) kann maximal zahlen bis 9999 enthalten, denn mehr lassen sich mit vier zeichen nun mal nicht darstellen.

          (ob das jetzt im gegenzug für signed int(4) heisst, dass werte von -999 bis +999 enthalten sein können ...? oder -999 bis 9999? darauf hat doch unser mysql-spezi goth sicher 'ne antwort ...)
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            oder die hauseigene mysql-datenbank, in der man sowas einfach mal eingeben kann, der pc wird schon nicht explodieren deswegen
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Original geschrieben von wahsaga
              (ob das jetzt im gegenzug für signed int(4) heisst, dass werte von -999 bis +999 enthalten sein können ...? oder -999 bis 9999? darauf hat doch unser mysql-spezi goth sicher 'ne antwort ...)
              müsste es theoretisch nicht -4500 bis 4499 sein, und unsigned dann 0 bis 9999, es interessiert mich aber momentan auch nicht so sehr dass ich es testen würde

              Kommentar


              • #8
                Original geschrieben von invitatoinvitat
                müsste es theoretisch nicht -4500 bis 4499 sein
                denke ich nicht, denn es ist ja ausdrücklich von der "display size" die rede ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Aber wenn ich INT(4) UNSIGNED festlege, kann ich auch 999999999 eingeben und es wird angenommen (getestet mit phpmyadmin).

                  Kommentar


                  • #10
                    ich sehe gerade, dass ich wohl (teilweise) falsch lag mit meiner vermutung,

                    http://www.mysql.com/doc/de/Numeric_types.html:

                    Ein andere Erweiterung wird von MySQL unterstützt, um optional die Anzeigebreite eines Ganzzahlwerts in Klammern festzulegen, die auf das Basis-Schlüsselwort des Typs folgen (zum Beispiel INT(4)). Die optionale Breitenspezifizierung wird benutzt, um die Anzeige von Werten, deren Breite geringer ist als für die Spalte festgelegt, linksseitig mit Leerzeichen aufzufüllen. Das begrenzt allerdings nicht den Wertebereich, der in der Spalte gespeichert werden kann, noch die Anzahl von Ziffern, die bei Werten angezeigt werden, die die angegebene Breite für die Spalte überschreiten. In Verbindung mit dem optionalen Erweiterungsattribut ZEROFILL wird - statt vorgabemäßig mit Leerzeichen - mit Nullen aufgefüllt. Bei einer Spalte zum Beispiel, die als INT(5) ZEROFILL deklariert wurde, wird 4 als 00004 dargestellt.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar

                    Lädt...
                    X