Làm thế nào về:
BINARY(16)
Điều đó phải đủ hiệu quả.
Hiện tại không có chức năng chuyển đổi địa chỉ IPv6 văn bản từ / sang nhị phân trong máy chủ MySQL, như đã lưu ý trong báo cáo lỗi đó. Bạn cần phải làm điều đó trong ứng dụng của mình hoặc có thể tạo một UDF (Hàm do người dùng xác định) trong máy chủ MySQL để làm điều đó.
CẬP NHẬT:
MySQL 5.6.3 có hỗ trợ địa chỉ IPv6, hãy xem phần sau:" INET6_ATON (expr) ".
Kiểu dữ liệu là VARBINARY(16)
thay vì BINARY(16)
như tôi đã đề xuất trước đó. Lý do duy nhất cho điều này là các hàm MySQL hoạt động cho cả địa chỉ IPv6 và IPv4. BINARY(16)
chỉ lưu trữ địa chỉ IPv6 và tiết kiệm một byte là tốt. VARBINARY(16)
nên được sử dụng khi xử lý cả địa chỉ IPv6 và IPv4.
Cách triển khai cho các phiên bản MySQL và MariaDB cũ hơn, hãy xem phần sau:" MYSQL 5 MỞ RỘNG VỚI CÁC CHỨC NĂNG IPV6 ".