在SQLite中,值的数据类型与值本身相关联,而不是与列类型相关联。因此,假设我们有一个包含整数主键“id”和整数列“some_number”的表。如果我这样做一个查询:
INSERT INTO mytable (id, some_number) VALUES (NULL, "1234")
123会以整数还是字符串形式插入?比如说,当我将它与其他值(例如“234”(作为数字1234> 234,作为字符串“1234”<“234”,对吧?)进行比较时,它将会对我产生什么后果? / p>
答案 0 :(得分:4)
如果您的字段类型(some_number)是数字,那么它将作为数值插入。不管你是否加上报价。
如果some_numeber是数字
INSERT INTO mytable (id, some_number) VALUES (NULL, "1234")
和
INSERT INTO mytable (id, some_number) VALUES (NULL, 1234)
是相同的
答案 1 :(得分:2)
取决于列的type affinity。