1


0

MySQLの関数を使用してa.b.c.d IPレコードをIP値に変換する方法は?

これが私が持っているテーブルです…​

user (
  id        int unsigned  primary key
  ip        varchar(15)   not null
  ip_value  int unsigned  default null
)

いくつかのサンプルデータ

id    ip            ip_value
123   5.68.23.10    NULL
592   31.52.11.49   NULL

関数を使用して、ユーザーテーブルのすべてのレコードを更新する必要があります。

IPがA.B.C.Dの部分で構成されている場合、「ip_value」は次のように計算できます。

(A * 256 * 256 * 256) + (B * 256 * 256) + (C * 256) + D

その後、テーブルは次のようになります。

id    ip            ip_value
123   5.68.23.10    88348426
592   31.52.11.49   523504433

MySQLクエリを使用してこれを達成するにはどうすればよいですか?

1 Answer


4


INET_ATON関数を使用して実行できます

SELECT id, ip, INET_ATON(ip) AS ip_value from your_table;

詳細:http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_inet-aton