gpt4 book ai didi

Lua 中的 SQLite bool 值

转载 作者:行者123 更新时间:2023-12-03 17:54:09 25 4
gpt4 key购买 nike

我很难找到一个优雅的解决方案。我正在使用具有 SQLite 数据库的 Corona 创建一个应用程序。 db 中的一列是 bool 值。我知道 SQLite 使用 10对于 truefalse .我也知道 Lua 将所有不是 false 的东西评估为真。或 nil .

有没有办法在 Lua 中直接将 SQLite bool 值评估为真或假,而无需这样做:

if(myVariable == 1) 

我觉得这违背了在表中包含 bool 列的目的,因为我可以将 myVariable 与任何东西进行比较。我只想能够写:
if(myVariable)

有没有办法做到这一点?现在我认为我唯一的选择是将 1 存储为 true 并将 false 保留为 null在数据库中。

最佳答案

SQLite 没有单独的 bool 存储类。因此,当 Lua 从数据库中读取列时,它无法确定该值是 bool 值而不是数字。

顺便说一句,当 lsqlite3使用 bind 之一存储 Lua bool 值方法,它确实注意到 Lua 打算存储一个 bool 值,并将值转换为整数 0 ( false ) 和 1 ( true )。

由于您是在 Lua 中编程,因此您必须接受 Lua 将数字视为数字而不是 bool 值的事实。我的建议是,在从数据库中读取数字后,立即在 Lua 中将它们转换为 bool 值。

关于Lua 中的 SQLite bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20111734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com