Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Loại dữ liệu MySQL nào để sử dụng cho địa chỉ IP?

Vì địa chỉ IPv4 dài 4 byte, bạn có thể sử dụng INT ( CHƯA ĐĂNG KÝ ) có chính xác 4 byte:

`ipv4` INT UNSIGNED

INET_ATON INET_NTOA để chuyển đổi chúng:

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;

Đối với địa chỉ IPv6, bạn có thể sử dụng BINARY thay vào đó:

`ipv6` BINARY(16)

Và sử dụng inet_pton của PHP inet_ntop để chuyển đổi:

'INSERT INTO `table` (`ipv6`) VALUES ("'.mysqli_real_escape_string(inet_pton('2001:4860:a005::68')).'")'
'SELECT `ipv6` FROM `table`'
$ipv6 = inet_pton($row['ipv6']);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo hàng trống cho hàng lặp lại

  2. mysqli ::query ():Không thể tìm nạp mysqli

  3. BIT (1) hoặc TINYINT cho cờ trong MySQL

  4. cách di chuyển dữ liệu mysql sang ElasticSearch thời gian thực

  5. Làm cách nào để nối hai bảng trong một câu lệnh CẬP NHẬT?