SQLite:select for update wait 10兼容性

时间:2010-09-24 16:41:21

标签: oracle sqlite compatibility

SQLite不支持也不接受这样的查询:

从mytable中选择*,其中col ='val'表示更新等待10;

您知道是否有办法让SQLite以静默方式跳过“更新等待10”部分,从而避免任何解析错误。我的观点是让Oracle SQL命令几乎不能对SQLite起作用,而不必手动编辑SQL语句。

2 个答案:

答案 0 :(得分:0)

我认为您可能需要编辑SQLite源代码,柠檬解析器。

没有这样的内置事物。您可以使用

锁定数据库
BEGIN [IMMEDIATE|EXCLUSIVE|DEFERRED] TRANSACTION

有关详细信息,请参阅this page

答案 1 :(得分:0)

当另一个线程或进程正在读取时,您无法更新sqlite db,而在另一个线程或进程正在写入时您无法读取,因此锁定行为与Oracle提供的锁定行为完全不同。

Sqlite锁定整个数据库,而不仅仅是记录或选择的记录。我想你需要查看很多查询。