W programowaniu jest kilka typów prostych zmiennych liczbowych, przy czym każda z nich ma granicę wartości min-max (inaczej - zasięg) wynikających z mnożenia potęg dwójki (oprę przykład o JAVA) i tak np.
typ byte (bajt) ma zakres (2^8-1) czyli może przyjąć wartość od -128 do + 127
typ short ma zakres 2^16-1 czyli może przyjąć wartość od -32768 do 32767
itd.
tu pełna lista: zakresy typów prostych
W momencie gdy np. do typu short zechcesz przypisać 32768 - czyli wartość o 1 większą niż maksimum dla short dochodzi do błędu. Wartość nie zostaje zapisana, aplikacja się wywala itp.
Jeśli pole w bazie danych (z tego co wiem pod fusionem jest MySQL) opisane jest jako SMALLINT (zakres -32768 do 32767, czyli odpowiednik short w JAVA), a Ty wstawisz tam 32768 to dane nie zostaną zapisane ponieważ spróbujesz zapisać w polu wartość zbyt dużą dla komórki.
Rozwiązaniem byłoby zwiększenie zakres danych przetrzymywanych w zbyt krótkiej kolumnie - zmienić na jakiś INT czy jak pisał Terant unsigned int.
Tu więcej:
typy danych numerycznych MySQL