0

MySQL のDESCRIBE構文を使用して列を解析する以外Typeに、特定の列に格納できる最大の整数INTとその種類をプログラムで判断する方法はありますか? (例: TINYINT、など) 列がやMEDIUMINTのようなカスタムの長さを使用することを除いて、単純にハードコードされたテーブルを格納します。TINYINT(2)MEDIUMINT(5)

さまざまな自動インクリメント整数ベースの ID 列が最大値に近づいたときに警告する cron ジョブを作成して、整数オーバーランのリスクを軽減できるようにすることを考えているためです。

編集

これはちょっとばかげた質問だったようです。私に指摘されたように、カスタムの長さは、それらの列が格納できる最大整数値には影響しません。したがって、スクリプトを書きたい場合は、MySQL のマニュアルに記載されている最大整数サイズをハードコーディングできます。このスクリプトが物事を処理する最良の方法であるかどうかについては、議論の余地があります。

4

1 に答える 1

1

カスタムの長さは最大値には影響しません。INT の場合は、値を視覚的に出力/表示するためのヒントにすぎず、先行ゼロのオートフィルが使用されている場合にのみ使用されます。

参照してください: https://stackoverflow.com/a/6817537/330315およびこちら: https://stackoverflow.com/a/5634151/330315およびこちら: https://stackoverflow.com/a/4432037/330315およびこちら: https://stackoverflow.com/a/7048597/330315 (一度これらのリンクを提供してくれた a_horse_with_no_name に tnx を送信します。)

于 2013-04-08T18:21:18.593 に答える