Tornado中的MySQL语句出错问题

2012-07-05 20:22:17 +08:00
 INT21H
我写了一个简单的SQL语句:
return self.db.get("SELECT * FROM %s WHERE id = %s", get_table, int(get_id))

然后数据库中有个表叫 blog , 其中一条 id = 1,即 get_table = 'blog', get_id = 1

执行下来应该是
SELECT * FROM blog WHERE id = 1

可是报错如下:
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''blog' WHERE id = '1'' at line 1")

呃,应该是字符串连接问题?这一句SQL应该没什么问题啊,急求解。。orz
4303 次点击
所在节点    Tornado
2 条回复
napoleonu
2012-07-05 22:28:45 +08:00
'blog' 多了两个单引号。
INT21H
2012-07-05 22:34:44 +08:00
@napoleonu 已经搞定了
改成这样了。。

"SELECT * FROM %s WHERE id = %s" % (get_table, int(get_id))

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/41525

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX