SQLite3存储仅包含数字的String

Cod*_*ley 1 sql sqlite android

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

INSERT OR REPLACE INTO tblPhoneList(Phone, PeopleId, StorageType) VALUES('+91912345789', '1','1');
Run Code Online (Sandbox Code Playgroud)

但无论我做什么,该号码都存储为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));
Run Code Online (Sandbox Code Playgroud)

ax.*_*ax. 9

手册中的 < UPDATE > :

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

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

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

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