Domanda

Se provo a inserire dati con una chiave primaria di 20 cifre in un database SQLite, ricevo un errore con la seconda istruzione di inserimento perché "non è univoca". Se seleziono i valori, posso vedere dal comando SQLite che la chiave primaria è scritta in notazione scientifica. Il tipo di colonna è decimale. C'è un modo per forzare SQLite a inserire i valori "così come sono" mantenendo la precisione / "rappresentazione normale" anche con valori così lunghi?

È stato utile?

Soluzione

inseriscilo come 'stringa', non come numero.

Altri suggerimenti

il campo chiave primaria deve essere un numero intero, il valore più grande è 9223372036854775807. usa un campo separato (indicizzato) e inserisci il valore come stringa.

Strano, sembra che il tuo wrapper stia inserendo il numero come float. Ho pensato che DECIMAL fosse mappato su un numero intero internamente. L'uso di una stringa funzionerebbe ma potrebbe essere lento fare l'indicizzazione della stringa piuttosto che un int.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top