如何在SQLite中使用序列?

前端之家收集整理的这篇文章主要介绍了如何在SQLite中使用序列?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个基于 PHP的Web应用程序,它应该可以与多个数据库系统一起使用.最重要的是MysqLsqlite,但Postgresql和其他人也会很好.为此,我尝试尽可能使用便携式sql.如果无法做到这一点,我在查询中定义了一些由我的数据库层处理并转换为特定于平台的sql命令的元字.

我现在正在尝试添加序列支持.每个DBMS处理不同的序列,没有通用的方法sql中编写它们.我已经阅读并理解了PostgreSQL does it的方式.我发现了一个有趣的solution for MySQL,它使用MyISAM表来逃避事务的隔离约束.毕竟,序列不会随着它们使用的事务而回滚,这正是我想要的.序列应该是多用户安全的.

现在我还没有找到sqlite的解决方案.它缺乏内置的序列支持.它没有提供在正在运行的事务之外存储数据的方法.我目前的实现是锁定表足够远,以执行SELECT MAX(…)并使用该值.但我想完全摆脱它.在sqlite中,这种方法需要锁定整个数据库

有没有人知道sqlite的解决方案?

我会使用lastInsertRowID.这将返回最后插入数据的rowid(等于该行的INTEGER PRIMARY KEY值). 那你就不需要任何顺序了.
原文链接:https://www.f2er.com/sqlite/197654.html

猜你在找的Sqlite相关文章