User-Defined Variables の下で、MySQL マニュアルのドキュメント:
ユーザー変数には、整数、10 進数、浮動小数点、バイナリまたは非バイナリ文字列、または
NULL
値など、限られたデータ型のセットから値を割り当てることができます。10 進数値と実数値の代入では、値の精度や位取りは保持されません。許容される型以外の型の値は、許容される型に変換されます。たとえば、時間データ型または空間データ型を持つ値は、バイナリ文字列に変換されます。ユーザー変数に非バイナリ (文字) 文字列値が割り当てられている場合、その文字セットと照合順序は文字列と同じです。ユーザー変数の強制力は暗黙的です。(これは、テーブルの列の値と同じ強制力です。)
ただし、マニュアルには次のように記載されていません。
サポートされている整数のサイズ(例: 4-byte
INT
または 8-byteBIGINT
)、それらが符号付きか符号なしか、およびZEROFILL
適用されるかどうか (そうであれば、どの表示幅を使用するか);この sqlfiddle は、MySQL 5.5.25 が まで使用し
BIGINT
、割り当てに従って署名され、 を適用しないことを示唆しているようZEROFILL
です。固定小数点値と浮動小数点値で使用される精度と位取り。これは代入から保持されません。と
文字列の最大長 (文字数および/またはバイト数)。
sqlfiddle は
max_allowed_packet
2 20バイトに制限されています (これは変更できません): 2 32バイト (4GiB) がサポートされていると思います。LONGTEXT
特にサーバーのバージョンや構成が異なる場合に、安全に信頼できる制限は何ですか?