当前位置: 首页 > 面试题库 >

SQLite是否支持SCOPE_IDENTITY?

樊俊悟
2023-03-14
问题内容

我正在尝试执行一个简单的INSERT并返回标识(自动递增主键)。我试过了

cmd.CommandText = "INSERT INTO Prototype ( ParentID ) VALUES ( NULL ); SELECT SCOPE_IDENTITY();";

我收到以下错误

EnvironmentError:SQLite错误
没有这样的功能:SCOPE_IDENTITY

SQLite是否支持SCOPE_IDENTITY?
如果可以,该如何使用?
如果不是,我(最好是“线程安全”)的替代方案是什么?


问题答案:

查看常见问题解答。该sqlite3_last_insert_rowid()函数将做到这一点。不过要小心触发器。



 类似资料:
  • 问题内容: Jboss Hibernate没有对SQLite的支持发表任何意见- https://community.jboss.org/wiki/SupportedDatabases2 在下面的SO中也提到了相同的内容: Hibernate + SQLite +Netbeans 您能否对此重点介绍。我想将嵌入式SQLite与Hibernate一起用于秋千桌面应用程序。 我也在评估Derby(Ja

  • 问题内容: 这在Microsoft SQL Server的T-SQL上是有效的语法,但在SQLite中则无效,在SQLite中是否有相同的替代语法? 问题答案: 通常,将整个联接移到一个子查询中,该子查询查找要删除的行的主键: 如果您有复合主键,则可以使用rowid代替: 如果您有复合主键,并且将该表创建为WITHOUT ROWID 表,则必须将联接重写为相关子查询:

  • 问题内容: SQLite是否支持公用表表达式? 我想运行这样的查询: 问题答案: 从Sqlite版本3.8.3开始,SQLite支持公用表表达式。 变更记录 指示

  • 问题内容: 因此,我希望将其转换为这样的Java代码: JAXB是否可能? 曾经看到一些WebService Client存根生成器正在执行此操作,但也许不确定axis2 Webservice。 问题答案: 的 JAXB(JSR-222) 规范没有盖产生快速失败逻辑到域模型。现在,一种常见的做法是以注释(或XML)的形式表示验证规则,并对它们进行验证。 Bean验证(JSR-303) 对此进行了标

  • 我正在使用RDF4J工作台: 尽管我可以在github上的RDF4J存储库中看到对GeoSPARQL的引用,但目前似乎还没有实现。我在已清除的“带RDFS自旋支持的内存存储”存储库上运行了这个SPARQL更新查询,以在RDF4J工作台上设置测试: 这导致一个存储库具有一个事实。 现在,我尝试通过以下查询查找与文字多边形的重叠,该查询应该可以找到上面设置的一个事实: 此查询以HTML的形式给出了一个

  • 问题内容: 我想知道是否有任何方法可以在Java中实现。我认为,如果没有本地对闭包的支持,这是不可能的。 问题答案: Java 8(2014年3月18日发布)不支持curring。可以将Missingfaktor在答案中发布的示例Java代码重写为: …这是非常好的。就个人而言,有了Java 8,我几乎没有理由使用替代的JVM语言(例如Scala或Clojure)。当然,它们提供了其他语言功能,但