intは 型最大値 2147483647でbigint型最大値は 9223372036854775807。
オートインクリメントではbigint型のほうが無難かも。
MySQLマニュアル
MySQL:auto_incrementが最大値まで達したとき
カテゴリー: MySQL
MySQLについてのメモ
MySQL型 表示桁数
VARCHAR(10) のカラムは最大 10 文字の長さの文字列を格納することができ、int(11)の(11)は表示桁数を揃えるもの。
MySQL 4.1 リファレンスマニュアル
[MySQL] int(11)の11は最大桁数ではない
SQLインジェクション検出ツール
webのアクセスログを解析、検出するツールです。
IPA SQLインジェクション検出ツール
MySQL varchar型をソートするには CAST(キャスト)
MySQLでvarchar型(文字など)をソートするにはCAST(キャスト)を使う
SELECT no, value FROM test ORDER BY CAST(value AS signed);
MySQL キャラセット SET NAMESは禁止
SET NAMESは禁止
MySQLには文字エンコーディングを変更する「SET NAMES」SQL文が用意されています。(PostgreSQLも同様のSQL文、SET CLIENT_ENCODINGがあります)この機能はSQLコンソールからは使ってよい機能ですが、アプリケーションからは使ってはならない機能です。 SQLインジェクションに脆弱になる場合があります。
(略) ストアドプロシージャだけ使っていれば安全ですが、アプリケーションからDBMSの文字エンコーディングを設定する場合、SQL文ではなく必ず文字エンコーディング設定APIを利用するよう紹介しなければならないです。
(略) 脆弱性の説明は面倒ですが注意事項は簡単です。「DBMSをアプリケーションから利用する場合、文字エンコーディング設定は必ずAPIを利用する」つまり「SET NAMES(SET CLIENT_ENCODING等も)は禁止」です。
参考さぼてん