我正在做一个SQL接口,但是字符串格式有问题。我要做的是一个SQLINSERT INTO table_name
语句。当我现在使用参数化insertion时,表名周围会出现不需要的引号。代码如下:
query = "INSERT INTO %(table)s VALUES %(vals)s;"
self.cur.execute(query, params)
结果是:
ERROR: syntax error at or near "'books'"
LINE 1: INSERT INTO 'books' VALUES 'hej, hej, hej, hej';
如您所见,书籍周围有引号,导致语法错误。你知道吗
我试图找到这方面的信息,但没有运气。我怎样才能解决这个问题?你知道吗
不能将execute参数用作表名或列名。它们只允许用于值。你知道吗
必须先格式化SQL语句:
或者更好,使用一个已经提供了一些数据库抽象的包,比如SQLAlchemy。你知道吗
相关问题 更多 >
编程相关推荐