SQLite3 Entier Valeur Maximale

  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. de quoi parle cette erreur ?

Erreur alors que la liste du système catalogue: Non tel tableau: temp.sqlite_master Impossible d'exécuter l'instruction

  1. les données de texte sqlite3 tapent-elles supoports unicode? Grâce.
44
demandé sur peterwkc 2010-12-15 12:09:15

5 réponses

  1. Regardez http://www.sqlite.org/datatype3.html Maximale est de 2^63-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 SQLite' pas de table ' erreur

En général, consultez la documentation sqlite

77
répondu Gabriele Petrioli 2017-05-23 12:18:23

Entier. La valeur est une signature entier, stocké dans 1, 2, 3, 4, 6, ou 8 octets en fonction de l'ampleur de valeur.

La classe de stockage entier, pour exemple, comprend 6 entiers différents types de données de différentes longueurs. Ce fait une différence sur le disque. Mais comme dès que les valeurs entières sont lues de disque et en mémoire pour le traitement, ils sont convertis au plus général type de données (entier signé de 8 octets).

Depuis http://www.sqlite.org/datatype3.html

Sauf si vous avez une autre raison de ne pas le faire, vous pouvez stocker l'adresse IP en utilisant du texte.

6
répondu dheerosaur 2010-12-15 09:15:57

En ce qui concerne la deuxième question:

Vous pouvez stocker l'adresse IP dans DB de 2 façons:

  1. comme une chaîne. Il est recommandé de le comme il soutiendra à la fois IPv4 et IPv6 et ne nécessite pas non tracas supplémentaires avec l'adresse IP conversion.
  2. Comme un entier. IP est fondamentalement 4 octets qui peuvent tous être fusionnés en une valeur entière. Toutefois, voulez-vous vraiment cela? Cela vous donnera beaucoup de douleur en le convertissant en / depuis une chaîne à tout moment.
3
répondu bezmax 2010-12-15 09:21:01
  • Comment stockez-vous l'adresse ip dans la base de données ?

Le plus simple est de stocker la forme de chaîne (par exemple, "127.0.0.1 " ou " ::1") depuis lors, Vous pouvez les lire manuellement et reparser dans une structure d'adresse (si vous devez) est facile. SQLite aime les chaînes (qui utilisent le type de texte) et les gère efficacement.

2
répondu Donal Fellows 2010-12-15 09:27:43

Le type de données texte sqlite3 prend-il en charge unicode?

Oui et non.

Oui dans ce SQLite vous permet de stocker des données TEXT en UTF-8 ou UTF-16. (Utilisez PRAGMA ENCODING pour choisir le format interne.)

Non en ce sens que les fonctions LOWER et UPPER intégrées n'affectent que les caractères ASCII. Mais vous pouvez redéfinir les fonctions de et classements pour ajouter cette prise en charge. Il y a une extension ICU à SQLite qui fait cela.

1
répondu dan04 2010-12-22 07:48:33