Python Sqlalchemy+;mysql,增量密钥重用

Python Sqlalchemy+;mysql,增量密钥重用,python,mysql,sqlalchemy,pyramid,Python,Mysql,Sqlalchemy,Pyramid,我有一个需要分配给用户的api密钥,每个用户的api密钥必须是唯一的,但可以从0[0,1,2,3,4,5…]开始重新使用,但它们有一个限制,并且是特定于功能的(除非要求,否则并非所有用户都需要) 目前,我已将1作为用户请求密钥添加到最高数字: [0,1,null,3,6,7,null,10,11,12,null,null…] 但这已经逐渐达到极限,我需要重用它们:[2,4,5,8,9…] 如何在sqlalchemy中获得最低的未使用值以始终重用键?我不完全确定这一点上的sqlalchemy语法,

我有一个需要分配给用户的api密钥,每个用户的api密钥必须是唯一的,但可以从0[0,1,2,3,4,5…]开始重新使用,但它们有一个限制,并且是特定于功能的(除非要求,否则并非所有用户都需要)

目前,我已将1作为用户请求密钥添加到最高数字:

[0,1,null,3,6,7,null,10,11,12,null,null…]

但这已经逐渐达到极限,我需要重用它们:[2,4,5,8,9…]
如何在sqlalchemy中获得最低的未使用值以始终重用键?

我不完全确定这一点上的sqlalchemy语法,但在sql方面,我认为您可能希望执行中建议的操作。引述:


如果您在找到合适的SQLAlchemy方法时遇到困难,您可以始终在会话对象上使用
with\u语句
execute
方法(允许您自由定义SQL语句)。一般来说,请咨询有关如何构建此数据库的信息。

我不完全确定此数据库的SQLAlchemy语法,但在sql方面,我认为您可能希望执行中建议的操作。引述:

如果您在找到合适的SQLAlchemy方法时遇到困难,您可以始终在会话对象上使用
with\u语句
execute
方法(允许您自由定义SQL语句)。一般来说,请咨询有关如何构建此功能的信息

SELECT MIN(t1.ID + 1) AS nextID
FROM tablename t1 LEFT JOIN tablename t2
ON t1.ID + 1 = t2.ID
WHERE t2.ID IS NULL