Максимальное значение Integer для SQLite3
- Каково максимальное значение типа данных INTEGER в sqlite3?
- Как вы храните ip-адрес в базе данных?
- Что прилагается?
- Как создать таблицу, относящуюся к определенной базе данных, используя sql ddl?
- О чем эта ошибка?
а список систем каталог: нет такой таблицы: temp.sqlite_master Не удалось выполнить оператор
- Создает ли sqlite3 текстовый тип данных supoports unicode?
Благодарю.
Ответы
Ответ 1
- Посмотрите на http://www.sqlite.org/datatype3.html Минимум - (2 63) == -9223372036854775808, максимум - 2 63 - 1 == 9223372036854775807
- Я думаю, вы должны использовать Varchar
- http://www.sqlite.org/lang_attach.html
- http://www.sqlite.org/lang_createtable.html
- может быть полезна ошибка SQLite "нет такой таблицы"
в общем ознакомьтесь с документацией sqlite
Ответ 2
INTEGER. Значение является подписанным целое число, сохраненное в 1, 2, 3, 4, 6 или 8 байтов в зависимости от величины значение.
Класс хранения INTEGER для пример, включает 6 различных целых чисел datatypes различной длины. Эта делает разницу на диске. Но как только значения INTEGER будут считаны диск и в память для обработки, они превращаются в самые общие datatype (8-байтовое целое число со знаком).
из http://www.sqlite.org/datatype3.html
Если у вас нет других причин, вы можете сохранить IP-адрес с помощью TEXT.
Ответ 3
Относительно второго вопроса:
Вы можете сохранить IP-адрес в БД двумя способами:
- Как строка. Это рекомендуется
поскольку он будет поддерживать как IPv4, так и
IPv6 и не требует
дополнительные хлопоты с IP-адресом
преобразования.
- Как целое число. IP - это в основном 4 байта, которые могут быть объединены в одно целочисленное значение. Однако, вы действительно этого хотите? Это даст вам массу болей, которые преобразуют его в/из строки в любое время, когда это требуется.
Ответ 4
- Как вы храните ip-адрес в базе данных?
Самый простой способ - сохранить строчную форму (например, "127.0.0.1
" или "::1
" ), так как вы можете читать их вручную и перерисовывать структуру адресов (если вам нужно) легко. SQLite любит строки (которые используют тип TEXT) и эффективно обрабатывает их.
Ответ 5
Поддерживается ли текстовый тип данных sqlite3 юникода?
Да и нет.
Да, этот SQLite позволяет хранить данные TEXT
в UTF-8 или UTF-16. (Используйте PRAGMA ENCODING, чтобы выбрать внутренний формат.)
Нет, что встроенные функции LOWER
и UPPER
влияют только на символы ASCII. Но вы можете переопределить функции и collations, чтобы добавить эту поддержку. Там расширение ICU для SQLite, который делает это.