HansJuergen: Frage zu Tinyint und Länge

Hallo
wenn ich in mysql eine Spalte mit Tinyint und Länge 1 definiere kann ich trotzdem z.B. 10 eingeben. warum ist das so? ich dachte ich könnte dann nur zahlen von 0-9 dort einfügen.

  1. Hallo
    wenn ich in mysql eine Spalte mit Tinyint und Länge 1 definiere kann ich trotzdem z.B. 10 eingeben. warum ist das so? ich dachte ich könnte dann nur zahlen von 0-9 dort einfügen.

    Tinyint(M) umfasst immer den Werteberich 256 (1 Byte).

    • unsigned: 0 bis 256
    • signed: -127 bis + 127

    Das M in der Klammer gibt soweit ich weiss die maximale Anzeigebreite bei der Ausgabe.

    Peter

    1. hi,

      Das M in der Klammer gibt soweit ich weiss die maximale Anzeigebreite bei der Ausgabe.

      richtig.
      allerdings wird die 10 dann trotzdem immer noch als 10 angezeigt, abgeschnitten wird da nichts.

      interessant wird das eigentlich erst dann, wenn man es mit einem attribut wie zerofill kombiniert:

      tinyint (3) zerofill

      wird dafür sorgen, dass alle zahlen als dreistellige zeichenkette mit ggf. führenden nullen geliefert werden, aus der zahl 10 würde dann also '010'.

      gruss,
      wahsaga

      --
      http://wazgnuks.net/ - back from the dead