Огромные (20 цифр) первичные ключи и SQLite - PullRequest
5 голосов
/ 15 октября 2008

Если я пытаюсь вставить данные с 20-значным первичным ключом в базу данных SQLite, я получаю сообщение об ошибке со вторым оператором вставки, поскольку он «не уникален». Если я выбираю значения, которые я вижу из командной строки SQLite, первичный ключ записывается в научной нотации. Тип столбца является десятичным. Есть ли способ заставить SQLite вставлять значения «как они», сохраняя точность / «нормальное представление» даже с такими длинными значениями?

Ответы [ 3 ]

4 голосов
/ 15 октября 2008

вставить его как «строку», а не число.

3 голосов
/ 15 октября 2008

поле первичного ключа должно быть целым числом, наибольшее значение - 9223372036854775807. использовать отдельное (индексированное) поле и вставить значение в виде строки.

0 голосов
/ 23 декабря 2008

Странно, звучит так, будто ваша обертка вводит число как число с плавающей точкой. Я думал, что DECIMAL был сопоставлен с целым числом внутри. Использование строки будет работать, но может быть медленным для индексации строки, а не для int.

...