加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何引用LuaSQL的值?

发布时间:2020-12-15 00:23:17 所属栏目:大数据 来源:网络整理
导读:LuaSQL,似乎是Lua中大多数SQL数据库系统的规范库,似乎没有任何用于在查询中引用/转义值的工具.我正在编写一个使用SQLite作为后端的应用程序,我喜欢使用类似于 Python’s DB-API指定的接口: c.execute('select * from stocks where symbol=?',t) 但我甚至会
LuaSQL,似乎是Lua中大多数SQL数据库系统的规范库,似乎没有任何用于在查询中引用/转义值的工具.我正在编写一个使用SQLite作为后端的应用程序,我喜欢使用类似于 Python’s DB-API指定的接口:
c.execute('select * from stocks where symbol=?',t)

但我甚至会满足于甚至是笨蛋的东西,比如:

conn:execute("select * from stocks where symbol=" + luasql.sqlite.quote(t))

是否还有其他支持SQLite引用的Lua库? (LuaSQLite3似乎没有.)或者我错过了一些关于LuaSQL的东西?我担心滚动我自己的解决方案(使用正则表达式或其他东西)并且弄错了.我应该为sqlite3_snprintf写一个包装器吗?

解决方法

我有一段时间没有看过LuaSQL,但上次我检查它并不支持它.我使用Lua-Sqlite3.
require("sqlite3")

db = sqlite3.open_memory()

db:exec[[ CREATE TABLE tbl( first_name TEXT,last_name TEXT ); ]]

stmt = db:prepare[[ INSERT INTO tbl(first_name,last_name) VALUES(:first_name,:last_name) ]]

stmt:bind({first_name="hawkeye",last_name="pierce"}):exec()
stmt:bind({first_name="henry",last_name="blake"}):exec()

for r in db:rows("SELECT * FROM tbl") do
    print(r.first_name,r.last_name)
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读