问题标签 [pysqlite]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何判断 pysqlite 2.6.3 中的更新语句是否成功
我pysqlite
用来与 SQLite 数据库交谈,我想知道检查UPDATE
SQL 语句是否实际上已成功更新表中的某些内容的正确方法是什么。
是否有一个变量我可以在执行后快速检查pysqlite
?
python - Python sqlite 将表从一个数据库复制到另一个数据库
我在 Windows XP 上使用带有内置 sqlite3 模块的 python 2.7。代码如下所示:
当我用db_copy.py src.db dest.db
源数据库运行它时,它翻了一番。所以我将源文件属性设置为只读。我现在得到:
似乎源数据库连接和目标数据库连接混合在一起?我已经调试了几个小时没有找到原因。
python - 修复了从 CSV 到 pysqlite 的列数量
我在 Windows 8 上使用 Python 2.6(32 位)。目的是从逗号分隔的 CSV 文件构建 pysqlite 数据库,其中第一行是列名。
我的代码如下(跳过了一些代码):
最初我使用 AddEntries() 将 CSV 文件中的条目添加到我的数据库中。但是,对于 Excel 2003 生成的 CSV 文件,每行的“字段”数量可能不同。如果某些行包含拖尾的空列或一些额外的垃圾,则它们可能包含比“列名”行更多或更少的字段(额外或缺少逗号)。
我不能使用“field_size_limit”,因为我需要先阅读 CSV 来定义它。
有没有更简单的方法来实现以下任何目的?
1.读取CSV文件时,指定固定数量的列,自动插入或删除逗号?
2. 向mysqlite数据库插入条目时,指定固定数量的列,以便它可以接受可变数量的输入列?
提前致谢。
python - pysqlite 中的 row_pop() 函数?
需要从表中获取一行,并删除同一行。
它在哪一行都没有关系。该函数应该是通用的,因此列名是未知的,并且没有标识符。(可以假设行作为一个整体是唯一的。)
结果函数类似于堆栈的 pop() 函数,只是元素的顺序无关紧要。
可能的解决方案:
- 删除到临时表中。
(这可以在 pysqlite 中完成吗?) Get *
以 1 为限制,Delete *
以 1 为限制。
(如果只有一个用户,这是否安全?)- 获取一行,然后使用
WHERE
比较整行的子句删除。
(这可以在 pysqlite 中完成吗?)
建议?
django - pysqlite DatabaseError:除非使用 text_factory,否则不得使用 8 位字节串
我正在尝试将我正在通过 csv 文件读取的文档字符串插入到 sqlite 数据库中,该数据库具有(儿童)等字符,它会引发以下错误:
DatabaseError:您不得使用 8 位字节串,除非您使用可以解释 8 位字节串的 text_factory(如 text_factory = str)。强烈建议您将应用程序切换为 Unicode 字符串。
在插入文档之前,我确保将字符串转换为 unistring 。
unicode('儿童', 'unicode-escape')
我正在使用 Django ORM 来保存数据。我能做些什么来摆脱这个吗?
python - JSON通过python到sqlite:REPLACE INTO无法识别相同的行
我正在从 url/JSON 中提取数据,解码 JSON 的元素并将其发送到 sqlite 表。
当我每隔一分钟提取一次 JSON 时,有时我会提取相同的 JSON(尚未刷新)。但是,我不想在表中多次输入相同的数据。这个问题的任何解决方案都是有帮助的。
我的想法是简单地将 JSON 的“执行时间”元素作为传递给 sqlite 的字段之一。因此,如果我使用 REPLACE 而不是 INSERT,当且仅当 JSON 具有新时间戳时,我才会将新行插入到现有 SQL 表中。这就是我的意思:
但是,这并不能防止输入重复的行。每次脚本运行时,都会将新的(即使重复的)条目插入到表中。
想法?其他解决方案?非常感谢。
python - 使用 python sqlite3 模块时,为什么在 VACUUM 之后不更新 ROWID?
我正在开发一个使用 python sqlite3 模块的应用程序。我的数据库使用了 sqlite3 提供的隐式 ROWID 列。我希望在删除一些行并清理数据库后对 ROWID 进行重新排序。因为在sqlite3官方文档中:
VACUUM 命令可以更改任何没有显式 INTEGER PRIMARY KEY 的表中条目的 ROWID。
我的 pysqlite 版本是2.6.0
,sqlite 版本是3.5.9
. 谁能告诉我为什么它不起作用?使用吸尘器时有什么需要注意的吗?
PS我安装了一个独立的 sqlite,其版本是3.3.6
. 我测试了其中的真空语句,并且 ROWID 得到了更新。那么罪魁祸首可能是版本吗?还是可能是 pysqlite 的错误?
提前感谢您的任何想法或建议!
python - 如何部署到 cloudcontrol 需要 pysqlite 的 python 应用程序?
我有一个依赖于pysqlite
模块的 python web 应用程序,但将其推送到 cloudcontrol 失败并出现错误
remote: src/connection.h:33:21: fatal error: sqlite3.h: No such file or directory
有什么方法可以让该应用程序在 cloudcontrol 上运行,还是暂时失败?
python - 在回调函数中实例化 SQLAlchemy 类
我是 SQLAlchemy 和 Python 的新手,我正在尝试在 Tkinter Button 回调中实例化一个 sqlalchemy 对象。这是代码:
我收到以下错误:
似乎无法识别回调中的 sqlalchemy“测试”类。我尝试从 tk 外部调用 saveTest 函数来实例化一个 Test 类,它可以工作。我还在回调中实例化了其他类(不是基于 sqlalchemy),所以它不起作用似乎真的很奇怪。必须有办法做到这一点......任何意见将不胜感激。——丹尼尔·W。
python - 使用可变数量的 WHERE 子句匹配任意数量的关键字 pysqlite
我正在使用 pysqlite 构建和搜索关键字数据库 + 对应于每个关键字的 URL 集。我搜索数据库的策略适用于 1 个关键字,因为它只需要 SQL 语句中的 1 个 WHERE 子句。就像是:
但是,我想将任意数量的关键字与我的数据库匹配,我相信这相当于在它们之间有几个带有 OR 语句的 WHERE 子句。因为我不知道我会得到多少关键字,所以我不能假设特定数量的 WHERE 子句并使用 API 的替换能力填充它们。
我相信我可以使用 Python 的字符串插入操作来使用我找到的每个关键字的 OR 语句来破坏 WHERE 语句。我很确定这很hacky,因为它可能导致注入攻击漏洞。
我也考虑过使用 .executemany() 函数,但它会运行许多单独的选择,而不是包含所有所需的 WHERE 子句的选择。
有没有比我提到的字符串替换方法更好的方法呢?我对 SQL 很陌生,所以请容忍我和我的无知。谢谢。