草庐IT

sqlite-wal

全部标签

ruby-on-rails - SQLite3 错误 - 无法回滚 - 没有事务处于事件状态

已解决(见下文)当我尝试在我的RubyonRails应用程序(或在控制台中)中创建或销毁一条记录(在SQLite3上运行)时,我收到了一个SQL异常:irb(main):014:0>ApiCache.all=>[]irb(main):015:0>ApiCache.create(:hash=>'qwe',:contents=>'asd')SQLite3::SQLException:cannotrollback-notransactionisactivefromC:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/sqlite3-1.3.3-

sql - 是否可以编写一个 SQLite 查询,它递归地获取作为根节点的子项的所有项

我有2个表。items和itemItemsitemItems描述了items之间的多对多关系。IE。items的成员可以有很多child,他们可以有很多child,而这些child又可以有很多child等等。项目:itemID|morestuff......1...2...3...4...itemItems:parentItemID|childItemID121324我想编写一个查询,以递归方式获取一个根节点下的所有子节点。我相信这可以通过称为递归连接的东西实现,但我发现这个概念非常困惑....(类似于this问题,但使用sqlite而不是sqlserver并且多对多而不是一对多)我可

sql - 是否可以编写一个 SQLite 查询,它递归地获取作为根节点的子项的所有项

我有2个表。items和itemItemsitemItems描述了items之间的多对多关系。IE。items的成员可以有很多child,他们可以有很多child,而这些child又可以有很多child等等。项目:itemID|morestuff......1...2...3...4...itemItems:parentItemID|childItemID121324我想编写一个查询,以递归方式获取一个根节点下的所有子节点。我相信这可以通过称为递归连接的东西实现,但我发现这个概念非常困惑....(类似于this问题,但使用sqlite而不是sqlserver并且多对多而不是一对多)我可

database - sqlite:如何在列数据类型为 DATETIME 的地方添加总时间 hh:mm:ss?

这是我在sqlite数据库中的列的快照,它在架构中定义的数据类型具有DATETIME。现在我想应用一些聚合函数,例如sum()来计算此列的总数。我使用的查询是:从时间表中选择sum(total_expend_time);但它返回0.0作为结果。 最佳答案 SQLite没有原生的DATETIME数据类型;值存储为字符串。你必须使用built-indatefunction在添加它们之前将这些字符串转换为秒数:SELECTsum(strftime('%s',total_expend_time)-strftime('%s','00:00:0

database - sqlite:如何在列数据类型为 DATETIME 的地方添加总时间 hh:mm:ss?

这是我在sqlite数据库中的列的快照,它在架构中定义的数据类型具有DATETIME。现在我想应用一些聚合函数,例如sum()来计算此列的总数。我使用的查询是:从时间表中选择sum(total_expend_time);但它返回0.0作为结果。 最佳答案 SQLite没有原生的DATETIME数据类型;值存储为字符串。你必须使用built-indatefunction在添加它们之前将这些字符串转换为秒数:SELECTsum(strftime('%s',total_expend_time)-strftime('%s','00:00:0

sqlite - 在 sqlite3 : copy a column from one table to another table

还有其他几个关于这个主题的stackoverflow查询,但没有一个有令人满意的答案。我有一个BeerReviews表,它缺少一个列(review_text),另一个表BeerReviewsWithText缺少一个不同的列(brewery_name)。否则表行的排序方式相同,因此我想简单地将BeerReviews中的brewery_name列附加到BeerReviewsWithText中。我将sqlite3启动为:sqlite3beer_rewiews_with_text.sqlite然后我通过以下方式附上啤酒评论表:attach'beer_reviews.sqlite'asBR我通过

sqlite - 在 sqlite3 : copy a column from one table to another table

还有其他几个关于这个主题的stackoverflow查询,但没有一个有令人满意的答案。我有一个BeerReviews表,它缺少一个列(review_text),另一个表BeerReviewsWithText缺少一个不同的列(brewery_name)。否则表行的排序方式相同,因此我想简单地将BeerReviews中的brewery_name列附加到BeerReviewsWithText中。我将sqlite3启动为:sqlite3beer_rewiews_with_text.sqlite然后我通过以下方式附上啤酒评论表:attach'beer_reviews.sqlite'asBR我通过

sql - SQLite 中的 count(*) 是常数时间,如果不是,还有哪些替代方案?

我正在寻找计算大型(超过1500万行)表中行数的最佳方法。selectcount(*)fromtable;的天真方式显然是O(n)根据我在这个问题上发现的一些旧帖子,例如http://osdir.com/ml/sqlite-users/2010-07/msg00437.html.是否有恒定的时间机制来获取此信息,或者如果没有,是否有直接的selectcount(*)查询的首选替代方案? 最佳答案 SQLite对没有WHERE子句的COUNT(*)进行了特殊优化,它遍历表的B树页面并对条目进行计数而不实际加载记录.但是,这仍然需要访问

sql - SQLite 中的 count(*) 是常数时间,如果不是,还有哪些替代方案?

我正在寻找计算大型(超过1500万行)表中行数的最佳方法。selectcount(*)fromtable;的天真方式显然是O(n)根据我在这个问题上发现的一些旧帖子,例如http://osdir.com/ml/sqlite-users/2010-07/msg00437.html.是否有恒定的时间机制来获取此信息,或者如果没有,是否有直接的selectcount(*)查询的首选替代方案? 最佳答案 SQLite对没有WHERE子句的COUNT(*)进行了特殊优化,它遍历表的B树页面并对条目进行计数而不实际加载记录.但是,这仍然需要访问

sql - SQLite3 中的 REFERENCES 关键字

我希望有人能向我解释SQL关键字REFERENCES的用途CREATETABLEwizards(idINTEGERPRIMARYKEYAUTOINCREMENT,nameTEXT,ageINTEGER,colorTEXT);CREATETABLEpowers(idINTEGERPRIMARYKEYAUTOINCREMENT,nameSTRING,damageINTEGER,wizard_idINTEGERREFERENCESwizards(id));我花了很多时间试图查找它,我最初认为它会限制您可以输入到powers表中的数据类型(基于wizard_id是否)但是,我仍然能够插入数据进