前端之家收集整理的这篇文章主要介绍了
sqlite3 – SQLite rowid的有效范围?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在制作
sqlite C API的包装器.我想将rowid作为整数类型返回.要
标记错误情况,我需要rowid的无效值.
sqlite rowid有无效值吗?或者有符号64位整数的所有值对rowid都有效? (因为如果是的话,我必须选择另一种方式来实现
标记错误的情况)
行ID是64位有符号整数,因此最大值为0x7FFFFFFFFFFFFFFFLL.但除非明确输入负行或零行ID,否则
自动生成的行ID始终大于零.如果您可以确定将始终
自动生成行ID,则零或-1将是
错误状态返回的安全值.
进一步思考,我发现sqlite3_last_insert_rowid API调用在表中没有插入任何内容时返回零,从而使得一个事实上的“无效”行ID为零.
原文链接:https://www.f2er.com/sqlite/197588.html