хранилище ip адресов sqlite - PullRequest
       10

хранилище ip адресов sqlite

0 голосов
/ 03 октября 2011

Я пытаюсь сохранить IP-адрес и идентификатор сеанса PHP, чтобы «однозначно» идентифицировать пользователя, управлять пользовательской очередью для управления (одним) аппаратным устройством через Интернет с помощью токена. Когда у пользователя есть токен, у него есть разрешение на управление устройством в течение X времени (2 минуты). Затем мне также нужна временная метка, время, в которое пользователь запросил токен.

Я обнаружил проблемы с поиском правильного типа поля для IP-адреса и отметки времени в SQlite.

Я работаю с PHP, поэтому хотелось бы получить простой способ извлечь из базы данных очередь, соответствующую «текстовому» идентификатору сеанса cookie и IP, используя временную метку для упорядочения и фильтрации.

Как лучше хранить их в базе данных SQlite?

Должен ли я использовать целое или текстовое поле? а есть функции для работы с этими типами?

1 Ответ

2 голосов
/ 03 октября 2011

SQLite является слабым типом, но поддерживает сходство типов. В целом SQLite поддерживает только небольшой диапазон « типов столбцов » («сходство типов»)

INTEGER
REAL
NUMERIC
TEXT
BLOB
NONE

Однако в вашем случае вы можете выбрать: Вы можете сохранить метку времени как UNIX-метку времени в INTEGER или как строку формата даты и времени в TEXT. См. Раздел «1.2 Тип данных даты и времени» в документе, представленном по ссылке выше. Есть Функции даты и времени , которые помогут вам обрабатывать такие данные.

IP-адрес может быть сохранен как INTEGER после преобразования его в один: ip2long(). Или вы храните его как TEXT тоже. Я предлагаю использовать первый.

...