Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jakiego typu danych MySQL użyć dla adresu IP?

Ponieważ adresy IPv4 mają długość 4 bajtów, możesz użyć INT (NIEPODPISYWANY ) który ma dokładnie 4 bajty:

`ipv4` INT UNSIGNED

Oraz INET_ATON i INET_NTOA aby je przekonwertować:

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

W przypadku adresów IPv6 możesz użyć BINARY zamiast tego:

`ipv6` BINARY(16)

I użyj PHP inet_pton i inet_ntop do konwersji:

'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. SQL:Jak mogę zaktualizować wartość w kolumnie tylko wtedy, gdy ta wartość jest pusta?

  2. Jak zmienić wielkość liter w nazwie bazy danych w MySQL?

  3. Zmień i zresetuj hasło roota MySQL

  4. Ostrzeżenie:PDOstatement::execute():SQLSTATE[HY093]:Nieprawidłowy numer parametru:parametr nie został zdefiniowany w...filetext

  5. Mysql Konwertuj kolumnę na wiersz (tabela przestawna)