Question

Si j'essaie d'insérer des données avec une clé primaire à 20 chiffres dans une base de données SQLite, la deuxième instruction insert contient une erreur car elle n'est pas unique. Si je sélectionne les valeurs que je peux voir à l'invite de commande SQLite, la clé primaire est écrite en notation scientifique. Le type de colonne est décimal. Existe-t-il un moyen de forcer SQLite à insérer les valeurs " telles qu’elles sont " en gardant la précision / "représentation normale" même avec des valeurs aussi longues?

Était-ce utile?

La solution

insérez-le sous forme de "chaîne" et non de nombre.

Autres conseils

le champ de clé primaire doit être un entier, la plus grande valeur est 9223372036854775807. Utilisez un champ séparé (indexé) et insérez la valeur sous forme de chaîne.

Étrange, on dirait que votre wrapper met le nombre sous forme de float. Je pensais que DECIMAL était associé à un entier en interne. L'utilisation d'une chaîne fonctionnerait, mais pourrait être lente pour l'indexation de la chaîne plutôt que pour un entier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top