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