Der Martin: MySQL Update

Beitrag lesen

Servus!

ich hab grad einen komischen Fehler:

Hi,

UPDATE items SET wos = '000311854900006' WHERE itemID = '21'

nachdem du im nächsten Post ergänzt hast, dass das ein Integer-Feld ist, war meine erste Eingebung: Eine Oktalzahl kann nie und nimmer die Ziffer 8 enthalten. Dann habe ich nachgeforscht und dabei erfahren, dass mySQL keine Oktal-Notation kennt. Also muss die Darstellung trotz der führenden Null als Dezimalzahl interpretiert werden.

[...] dort ist immer "2147483647" eingetragen

Und die Tatsache, dass das exakt 2³¹-1 ist, sollte einem eigentlich zu denken geben. Sieht also so aus, als ob mySQL Integer-Werte nur mit 32bit speichert, den zu großen Zahlenwert erkennt und ersatzweise den größten darstellbaren Wert in das Feld einträgt.

obwohl in diesem Fall dort '000311854900006' stehen müsste.

Nein. Die führenden Nullen sind nur Zierat bei der Ein- oder Ausgabe. Wenn Integers mit 64bit gespeichert würden, stünde in diesem Feld der Wert 311854900006.

// Publication Month is Splitted[0] and Publication Day Splitted[1]

Btw, das Partizip von 'split' ist ebenfalls 'split'. Es gibt im Englischen kein 'splitted'.

So long,
 Martin

--
Finanztipp:
Leihen Sie sich Geld von einem Pessimisten.
Er rechnet sowieso nicht damit, dass er es zurückbekommt.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(