erreur lors de la liste du catalogue système: aucune table de ce type: temp.sqlite_master Impossible d'exécuter l'instruction
en général consultez la documentation sqlite
ENTIER. La valeur est un entier signé, stocké dans 1, 2, 3, 4, 6 ou 8 octets selon l'ampleur de la valeur.
La classe de stockage INTEGER, par exemple, comprend 6 types de données entiers différents de longueurs différentes. Cela fait une différence sur le disque. Mais dès que les valeurs INTEGER sont lues sur le disque et en mémoire pour le traitement, elles sont converties au type de données le plus général (entier signé de 8 octets).
de http://www.sqlite.org/datatype3.html
Sauf si vous avez une autre raison de ne pas le faire, vous pouvez stocker l'adresse IP à l'aide de TEXT.
Concernant la deuxième question:
Vous pouvez stocker l'adresse IP dans DB de 2 manières:
Le type de données texte sqlite3 prend-il en charge l'unicode?
Oui et non.
Oui, SQLite vous permet de stocker des données TEXT
dans UTF-8 ou UTF-16. (Utilisez ENCODAGE PRAGMA pour choisir le format interne.)
Non, car les fonctions intégrées LOWER
et UPPER
n'affectent que ASCII caractères. Mais vous pouvez redéfinir les fonctions et - collations pour ajouter ce support. Il y a un extension IC à SQLite qui fait cela.
- Comment stockez-vous l'adresse IP dans la base de données?
Le moyen le plus simple consiste à stocker la chaîne (par exemple, "127.0.0.1
" ou "::1
”) Depuis lors, vous pouvez les lire manuellement et ré-analyser une structure d'adresse (si nécessaire) est facile. SQLite aime les chaînes (qui utilisent le type TEXT) et les gère efficacement.