タグ

2016年5月12日のブックマーク (1件)

  • MySQL IPアドレス用カラム

    MySQLのテーブルにIPアドレス用カラムを作る場合、文字列か整数型の選択がありますが、 ここでは整数で保存する場合について説明します。 テーブル定義でIPアドレス用カラムの指定 IPv4アドレス用カラムには、INTEGERにUNSIGNEDを付けて、32bit符号なし整数で指定するか、 VARBINARY(4)を指定するかの2通りがあります。確認した範囲では、どちらも同じように動作しました。 例 unsigned integerで定義 CREATE TABLE log( id INTEGER PRIMARY KEY AUTO_INCREMENT, ip INTEGER UNSIGNED ); これで作成したテーブルは以下のようになっています。 mysql> desc log; +-------+------------------+------+-----+---------+-----

    halohalolin
    halohalolin 2016/05/12
    IPv4アドレスのログを記録する際、そのまま文字列で格納するのではなく、挿入時はipアドレスをINET_ATON()でINT型にし、閲覧時はINET_NTOA()を用いると容量削減ができ良さそうだ。