SQLite
local database, openError = SQLite.open({
database = "examples/users.sqlite",
busyTimeout = 5000,
foreignKeys = true
})
if database then
local result, queryError = database:execute([[
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL,
email TEXT NOT NULL
)
]])
if result then
print("Users table is ready")
else
print(queryError.message)
print("Error ID: " .. tostring(queryError.code))
end
local insertResult, insertError = database:execute(
"INSERT INTO users (username, email) VALUES (?, ?)",
"Nameless",
"nameless@example.com"
)
if insertResult then
print("Inserted ID: " .. tostring(insertResult.lastInsertId))
else
print(insertError.message)
print("Error ID: " .. tostring(insertError.code))
end
local selectResult, selectError = database:query(
"SELECT id, username, email FROM users WHERE id >= ?",
1
)
if selectResult then
print("Rows: " .. tostring(#selectResult.rows))
for _, row in ipairs(selectResult.rows) do
print(tostring(row.id) .. " " .. row.username .. " " .. row.email)
end
else
print(selectError.message)
print("Error ID: " .. tostring(selectError.code))
end
database:close()
else
print(openError.message)
print("Error ID: " .. tostring(openError.code))
end