回答

收藏

如何引用LuaSQL的值?

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

LuaSQL似乎是Lua中大多数SQL数据库系统的标准库,但似乎没有引用/转义查询值的功能。我正在写一个使用SQLite作为一个后端应用程序,我想使用它Python的DB-
) _3 \6 B0 Q. a. |0 w! ZAPI指定接口的接口:
* p" m! a/ m, l8 |  F6 l/ e! j7 `. Rc.execute('select * from stocks where symbol=?',t)但我甚至对一些愚蠢的事情感到满意,比如:
/ H: v/ ]6 N1 Y% A  V! C9 Yconn:execute("select * from stocks where symbol="   luasql.sqlite.quote(t))还有其他支持SQLite引用的Lua库吗?(LuaSQLite3似乎没有。)或者我是否缺少相关信息。LuaSQL内容?我担心推出自己的解决方案(使用正则表达式等。)并犯错误。我应该只是为了sqlite3_snprintf写包装器吗?' w2 g9 n+ c/ f7 r. s  v0 ?
                                                                ; k  y9 b* U, a6 s! V0 W" d4 [
    解决方案:                                                                ( y2 l' X* }- {8 w
                                                                我有一段时间没见过我了LuaSQL了,但是上次我检查它不支持它。我使用Lua-Sqlite3。5 @2 H, e3 t8 L0 P) b  ]+ x5 B
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
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则