当前位置:  开发笔记 > 数据库 > 正文

SQLite3存储仅包含数字的String

如何解决《SQLite3存储仅包含数字的String》经验,为你挑选了1个好方法。

我必须在SQLite3中运行这样一个非常简单的查询.

INSERT OR REPLACE INTO tblPhoneList(Phone, PeopleId, StorageType) VALUES('+91912345789', '1','1');

但无论我做什么,该号码都存储为91912345789. +前缀被忽略.该领域Phone是一个String.为什么忽略+前缀?反正有没有避免这个?

PS此代码在Android内部运行

编辑:这是表的架构

CREATE TABLE tblPhoneList(Phone STRING PRIMARY KEY ON CONFLICT REPLACE, StorageT
ype INTEGER, PeopleId INTEGER, FOREIGN KEY(PeopleId) references tblPeople(id));

ax... 9

手册中的 < UPDATE > :

声明的"STRING"类型具有NUMERIC的亲和力,而不是TEXT

所以请将此列的类型更改为TEXT,您应该完成.UPDATE END >

你的Phone专栏是什么类型的(试试PRAGMA table_info (tblPhoneList))?如果它是TEXT(或BLOB),你不应该有任何问题 - 只是在这里试过.如果是INTEGERREAL,你应该将其转换为TEXT- 你不能指望一个INTEGERREAL列存储+字符串.

有关所有详细信息,请参阅SQLite版本3中的数据类型.



1> ax...:

手册中的 < UPDATE > :

声明的"STRING"类型具有NUMERIC的亲和力,而不是TEXT

所以请将此列的类型更改为TEXT,您应该完成.UPDATE END >

你的Phone专栏是什么类型的(试试PRAGMA table_info (tblPhoneList))?如果它是TEXT(或BLOB),你不应该有任何问题 - 只是在这里试过.如果是INTEGERREAL,你应该将其转换为TEXT- 你不能指望一个INTEGERREAL列存储+字符串.

有关所有详细信息,请参阅SQLite版本3中的数据类型.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有