web-dev-qa-db-fra.com

SQLite3 Entier Max Value

  1. quelle est la valeur maximale du type de données INTEGER dans sqlite3?
  2. Comment stockez-vous l'adresse IP dans la base de données?
  3. Qu'est-ce qui est attaché?
  4. Comment créer une table qui appartient à une base de données spécifique en utilisant sql ddl?
  5. Quelle est cette erreur?

erreur lors de la liste du catalogue système: aucune table de ce type: temp.sqlite_master Impossible d'exécuter l'instruction

  1. Le type de données texte sqlite3 prend-il en charge unicode? Merci.
46
nicholas
  1. Regardez http://www.sqlite.org/datatype3.html Le minimum est - (263) == -9223372036854775808 et le maximum est 263 - 1 == 9223372036854775807
  2. Je pense que vous devriez utiliser un varchar
  3. http://www.sqlite.org/lang_attach.html
  4. http://www.sqlite.org/lang_createtable.html
  5. pourrait être utile Erreur SQLite 'no such table'

en général consultez la documentation sqlite

84
Gabriele Petrioli

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.

6
dheerosaur

Concernant la deuxième question:

Vous pouvez stocker l'adresse IP dans DB de 2 manières:

  1. En tant que chaîne. Ceci est recommandé car il prendra en charge à la fois IPv4 et IPv6 et ne nécessite aucun tracas supplémentaire avec les conversions d'adresses IP.
  2. Comme un entier. IP est fondamentalement 4 octets qui peuvent tous être fusionnés en une seule valeur entière. Cependant, le voulez-vous vraiment? Cela vous donnera beaucoup de peine à le convertir en/à partir d'une chaîne chaque fois que cela est nécessaire.
3
bezmax

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.

2
dan04
  • 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.

2
Donal Fellows