6

我需要将 Ip 保存在数据库中。我正在使用 laravel 但我需要存储 IPv6 和 IPv4 ip 的 ip 类型是否准备好用于 IP?

$table->ipAddress('visitor');

还是我需要使用普通的字符串类型。

谢谢

4

1 回答 1

11

ipAddress()方法为指定的数据库创建以下字段类型:

  • MySql - varchar(45)
  • SqlServer - nvarchar(45)
  • Postgres-inet
  • SqlLite - varchar

对于文本字段,存储 IPv6 地址所需的最大长度为 45 个字符,因此对于 MySql、SqlServer 和 SqlLite 似乎已考虑到这一点。此外,inetPostgres 中的字段同时处理 IPv4 和 IPv6 字段。

考虑到这一切,我会说可以安全地假设该ipAddress()方法将创建一个可以在任何数据库中处理 IPv6 的字段。

于 2016-07-08T18:24:16.640 回答