为什么当插入量超过一定数量时我的交易会失败?

时间:2018-08-27 09:35:33

标签: c# sqlite

我正在尝试使用事务将大量数据插入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时交易可能会失败?

1 个答案:

答案 0 :(得分:0)

通过使用Dirk和Shawn建议的参数来解决