story time: I was storing rows with text id's and never bothered setting a type, it was "id PRIMARY KEY" and I always assumed that it gave me back what I stored in it via the nodejs binding.
One day I was storing a string of numbers which happened to fit in a 64 bit int, and so sqlite stored them as integers, and when retrieving them, they became floats (since JS doesn't have 64 bit ints (yet)). That was a headscratcher. Now I explicitly set the type, always. On Sat, Jun 30, 2018, 11:19 AM Olivier Mascia <o...@integral.be> wrote: > > Le 30 juin 2018 à 09:04, Thomas Kurz <sqlite.2...@t-net.ruhr> a écrit : > > > > CREATE TABLE a (col1 STRING); > > INSERT INTO a (col1) VALUES ("3.0"); > > SELECT * from a; > > ---> 3 // this should never happen!! > > SQLite type affinity rules clearly do not recognise STRING as TEXT: it > does so only when the type contains the words CHAR, TEXT or CLOB. STRING, > which you use for your example, is even specifically warned about (being of > NUMERIC affinity). > > https://www.sqlite.org/datatype3.html#determination_of_column_affinity > > -- > Best Regards, Meilleures salutations, Met vriendelijke groeten, > Olivier Mascia > > > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users