c# - 为什么我的交易在超过一定数量的插入时会失败?
问题描述
我正在尝试使用事务将大量数据插入 SQLite 数据库。
using (var transaction = database.BeginTransaction())
{
foreach(var i in Enumerable.Range(0, _wordCount))
{
statement.CommandText = $"INSERT INTO Hashes (word, hash) VALUES ('{words[i]}', '{hashes[i]}')";
statement.ExecuteNonQuery();
}
transaction.Commit();
}
上面的代码适用于 10 - 12k 范围内的少量数据,但是,任何超过 12k 标记的东西似乎都会崩溃并出现以下错误
'SQL logic error near "d": syntax error'
在线资源表明,对于您可以通过单个事务完成的插入次数不应该有限制,因此无论插入次数如何,事务正常运行都是有意义的
当超过 12,000 次插入时,我有什么遗漏或者我的交易可能失败的任何原因吗?
解决方案
使用 Dirk 和 Shawn 推荐的参数解决
推荐阅读
- android - Android 应用程序与管理面板之间的连接
- php - 从数据库调用图像会在 html 中产生空格
- java - 如何保持 url 重定向的上下文?
- sql - 从另一个表创建视图
- c - 我应该使用 mkl_malloc 进行什么对齐值?
- angular - 数据网格选择复选框不显示
- html - 如何使用 CSS 证明 Firefox 和 Safari 中的文本?
- amazon-web-services - Structuring backend (REST API) into microservices with Kubernetes (or serverless)
- visual-studio - 我的 VS 扩展是否应该使用“.vs”文件夹?
- javascript - Webpack:试图公开捆绑的对象以供其他脚本使用,对象仍然未定义