INET4
MariaDB starting with 10.10.0
The INET4 data type was added in MariaDB 10.10.0
Syntax
INET4
Contents
Description
INET4
is a data type to store IPv4 addresses, as 4-byte binary strings.
From MariaDB 11.3.0, casting from INET4 data types to INET6 is permitted, allowing for example comparisons between the two data types, and for INET 4 values to be inserted into INET6 columns.
Examples
CREATE OR REPLACE TABLE t1 (a INET4); INSERT INTO t1 VALUES('0.0.0.0'), ('255.10.0.0'), ('255.255.255.255'); INSERT INTO t1 VALUES (0xa0000001); INSERT INTO t1 VALUES (0xf0000000); INSERT INTO t1 VALUES (0xff000001); SELECT HEX(a), a FROM t1 ORDER BY a; +----------+-----------------+ | HEX(a) | a | +----------+-----------------+ | 00000000 | 0.0.0.0 | | A0000001 | 160.0.0.1 | | F0000000 | 240.0.0.0 | | FF000001 | 255.0.0.1 | | FF0A0000 | 255.10.0.0 | | FFFFFFFF | 255.255.255.255 | +----------+-----------------+
Casting from INET4 to INET6 is permitted, allowing direct inserts.
Before MariaDB 11.3:
CREATE TABLE t1 (a INET6); INSERT INTO t1 VALUES('0.0.0.0'), ('255.10.0.0'), ('255.255.255.255'); ERROR 1292 (22007): Incorrect inet6 value: '0.0.0.0' for column `test`.`t1`.`a` at row 1
From MariaDB 11.3:
CREATE TABLE t1 (a INET6); INSERT INTO t1 VALUES('0.0.0.0'), ('255.10.0.0'), ('255.255.255.255'); Query OK, 3 rows affected (0.027 sec)
Comparisons are also permitted from MariaDB 11.3:
CREATE OR REPLACE TABLE t1 (i4 INET4, i6 INET6); INSERT INTO t1 VALUES('10.10.10.10','::ffff:192.168.0.1'); SELECT LEAST(i4,i6) FROM t1; +--------------------+ | LEAST(i4,i6) | +--------------------+ | ::ffff:10.10.10.10 | +--------------------+
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.