gpt4 book ai didi

SQLite3 存储只包含数字的字符串

转载 作者:行者123 更新时间:2023-11-29 14:22:21 25 4
gpt4 key购买 nike

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

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

但无论我做什么,数字都存储为 91912345789。忽略 + 前缀。Phone 字段是一个 String。为什么它会忽略 + 前缀?有什么办法可以避免这种情况吗?

附言此代码在 Android 中运行

编辑:这是表的架构

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

最佳答案

<更新> 来自 the manual :

the declared type of "STRING" has an affinity of NUMERIC, not TEXT

所以请将此列的类型更改为TEXT ,你应该完成了。 更新结束>

你的 Phone 是什么类型列(尝试 PRAGMA table_info (tblPhoneList))?如果是TEXT (或 BLOB ),您应该没有任何问题 - 只需在此处尝试即可。如果是 INTEGERREAL , 你应该把它转换成 TEXT - 你不能指望 INTEGERREAL存储 + 的列字符串。

有关所有详细信息,请参阅 Datatypes In SQLite Version 3 .

关于SQLite3 存储只包含数字的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3204110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com