在 如果通过以下方式创建表
db:exec [[CREATE TABLE IF NOT EXISTS tips_table (id INTEGER PRIMARY KEY,time TIME,date DATE, counter INTEGER)]]
数据如下插入到上表中
local stmt = db:prepare [[INSERT INTO tips_table (time, date, counter) VALUES (?, ?, ?);]]
stmt:bind_values(os.date('%H:%M:%S'), os.date('%y/%m/%d'), counter)
为什么我会收到以下错误
lua: Test.lua:247: attempt to index local 'stmt' (a nil value)
我尝试了不同的变量,并尝试将日期和时间转换为字符串。
我从不同的网站查看了 lsqlite3 语法,并无休止地用 Google 搜索,但我似乎无法正确理解
即使在 Lua 中,在调用其方法之前也有必要检查返回的对象是否为 nil。
您的
db:prepare
返回零。假设这是因为您没有提供 id
,这是一个不接受 null 的主键。