我正在使用 Python 练习并尝试创建一个有助于执行数据库操作的类,但是当插入数据库时,代码如下:
def Insert(self, **kwargs):
self.__query.execute("INSERT INTO {} ({}) VALUES ({})".format(self.table, ", ".join(kwargs.keys()), ", ".join(str(v) for v in kwargs.values())))
self.__db.commit()
当我运行此代码进行测试时:
MyTable.Insert(id=3, name="jack", age=23)
我收到了这个错误:
sqlite3.OperationalError:没有这样的列:杰克
当我用我替换execute
命令时,print
我得到了这个:
INSERT INTO testTbl111 (id, name, age) VALUES (3, jack, 23)
我想jack
必须被引号包围。
我的问题是:在做的时候如何jack
用引号括起来", ".join(str(v) for v in kwargs.values())
?