tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
439
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    rollerueckwaerts rollerueckwaerts ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Ort
    Berlin Fhain
    Beiträge
    225
    Hallo,
    ich habe ein für meine Verhältnisse eher ungewöhnliches Problem.

    Ich möchte in eine Spalte den Wert 100002137171664 per PHPMyAdmin eintragen.
    Die Spalte ist vom Datentyp Int(100)
    Ergebnis nach dem Eintragen: 2147483647

    Bekomme auch die Warnung: Out of range value adjusted for column
    aber meiner Meinung nach überschreite ich den Range doch garnicht ?!

    Was mache ich falsch ?
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Hi

    dein tatsächlicher, Wert ist (2^31)-1, mit anderen Worten:
    Der Maximalwert für ein normales int (ja, auch das hat Beschränkungen).

    Es geht zwar noch größer, aber auf 100 (Dezimalzahlen-)Stellen wirst du nicht kommen.

    Musst du mit der Zahl auch herumrechnen etc.?
    Wenn nein, einfach als Text abspeichern.
    Wenn ja...Je nach Fall andere Lösungen möglich.

    Gruß
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    http://dev.mysql.com/doc/refman/5.0/....html#id636300

    This optional display width may be used by applications to display integer values having a width less than the width specified for the column by left-padding them with spaces.

    [...]

    The display width does not constrain the range of values that can be stored in the column.
    INT ist INT. Willst du was größeres, brauchst du BIGINT. Da passt dann auch deine 100002137171664 rein.
     

  4. #4
    rollerueckwaerts rollerueckwaerts ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Ort
    Berlin Fhain
    Beiträge
    225
    Alles klar Danke, dann nehm ich mal BigInt
     

Ähnliche Themen

  1. Allokiertes Array, 1. Wert falscher Wert
    Von Nadriel im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 28.07.10, 21:13
  2. MySQL Insert Falscher Syntax?
    Von battleck im Forum PHP
    Antworten: 2
    Letzter Beitrag: 05.05.10, 16:08
  3. Vergleich mit Javascript, falscher Wert wird wiedergegeben
    Von Gunah im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 12.06.09, 19:23
  4. Antworten: 5
    Letzter Beitrag: 01.03.08, 17:00
  5. Access: Wert wird mehrmals in Datenbank eingetragen
    Von Chandini im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 30.11.04, 13:12