回答

收藏

如何引用LuaSQL的值?

技术问答 技术问答 281 人阅读 | 0 人回复 | 2023-09-13

LuaSQL似乎是Lua中大多数SQL数据库系统的标准库,但似乎没有引用/转义查询值的功能。我正在写一个使用SQLite作为一个后端应用程序,我想使用它Python的DB-# f- x2 c" c, t0 I: [% H
API指定接口的接口:
/ _5 s2 ?* z8 Q& ~+ \c.execute('select * from stocks where symbol=?',t)但我甚至对一些愚蠢的事情感到满意,比如:
( H! [  E! e$ K5 P4 _conn:execute("select * from stocks where symbol="   luasql.sqlite.quote(t))还有其他支持SQLite引用的Lua库吗?(LuaSQLite3似乎没有。)或者我是否缺少相关信息。LuaSQL内容?我担心推出自己的解决方案(使用正则表达式等。)并犯错误。我应该只是为了sqlite3_snprintf写包装器吗?
: T# f' P+ ~, X+ L! I. y                                                               
) q# c9 P6 L# T    解决方案:                                                               
/ N5 p' M$ q& W# {2 Q& L                                                                我有一段时间没见过我了LuaSQL了,但是上次我检查它不支持它。我使用Lua-Sqlite3。
# e" f4 M4 j! Z0 O4 e- ^4 |( t$ |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
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则