SQLite数据库使用时碰到的问题

背景

1、最近使用sqlite数据库,因为轻量,所以,不需要特别的部署服务器环境。
开发的平台使用的是Qt

碰到的问题

1、我在向数据库中插入字段的时候,少写了一个字段的内容,报这个错误

QSqlError("", "Unable to fetch row", "No query")

数据库表中有三个字段,我只用语句向里面写了两个,报错。

2、拷贝现成的数据库文件(.db)文件,直接替换原来数据库,报错

QSqlError("8", "Unable to fetch row", "attempt to write a readonly database")

这个是因为我需要把这个.db文件的属性做一个修改:
解决方法:
1、找到对应的.db文件,右键—属性

2、将属性里面 只读前面的对勾选掉,就可以了
在这里插入图片描述

刚开始碰到这个问题,觉得不应该是文件的问题,后面发现,确实是。

每篇一句

人生就有许多这样的奇迹,看似比登天还难的事,有时轻而易举就可以做到,其中的差别就在于非凡的信念。
### 将 MySQL 数据库迁移到 SQLite #### 准备工作 为了成功完成从 MySQL 到 SQLite 的迁移,需准备必要的环境和工具。确保安装了 Python 及其 pip 工具,因为部分操作依赖于特定的 Python 库。 #### 使用 `mysql2sqlite` 脚本进行迁移 一种有效的方法是利用名为 `mysql2sqlite` 的脚本来简化整个流程。此脚本能够处理大部分兼容性问题并自动生成适合 SQLite 的 SQL 语句[^1]。 ```bash # 安装 mysql2sqlite 所需依赖项 pip install mysqlclient sqlite3 wget https://raw.githubusercontent.com/dumblob/mysql2sqlite/master/mysql2sqlite.pl chmod +x mysql2sqlite.pl ``` 接着执行如下命令来导出 MySQL 中的数据: ```bash ./mysql2sqlite.pl -u <username> -p<password> -h <host> <database_name> | sqlite3 /path/to/new_database.sqlite ``` 请注意替换 `<username>`、`<password>`、`<host>` 和 `<database_name>` 为实际值,并指定新创建的 SQLite 文件路径。 对于更复杂的场景或遇到特殊字符编码等问题,可能还需要手动调整生成的 SQL 文件以适应目标 SQLite 版本的要求。 #### 处理潜在的问题 当尝试将已存在的数据从 MySQL 迁移至 SQLite ,可能会碰到诸如主键冲突之类的情况。建议在开始前清空目的端 (即 SQLite) 上任何预先存在的相同结构表格,以免发生不必要的错误提示[^5]。 另外,在某些情况下,直接通过上述方式转移大型数据库可能导致性能瓶颈;此可以考虑分批次传输记录或是优化 SQL 插入语句的形式提高效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值