1

mysql両方の列が 2 つありますint unsigned zerofill。15番目の長さ、2 番目11の長さ。最初の値は何5桁でも問題ありません。112 つ目は、数字を に変換するものに関係なく04294967295。このパズルを解く手がかりはありますか?

4

3 に答える 3

2

あなたの数値は、整数フィールドが処理できる - 2 32 - 1より大きいです。

列を unsigned BIGINT に変更すると、最大で 18,446,744,073,709,551,615 になります。

于 2013-06-02T14:17:48.553 に答える
0

整数フィールドに指定する長さは、単に表示するためのものです。長さ 11 を渡すと、その列の選択コマンドは 11 桁の数字 (取得した数字の長さ) を表示します。フィールドの実際のサイズは、列に選択したタイプによって決まります ( int)。-フィールドは、2 32 個の異なる値intを格納できます。最初の値が 0 の符号なしフィールドの場合、最大値は 2 32 - 1 になり、出力の数値と一致します。入力した 11 桁の数値はこの数値よりも大きいため、保存される値は 2 32 - 1 になります。

2 64BIGINTまでの任意の数値を格納できる -type を使用することで、この制限を克服できます。

于 2013-06-02T14:22:37.153 に答える
0

UNSIGNED INT の範囲は 0 ~ 4294967295 です。そのため、4294967295 を超える値は、unsigned INT で可能な最大値であるため、その最大値を挿入します。

于 2013-06-02T14:23:40.120 に答える