我正在尝试通过python向数据库添加数据。我认识到许多人对“insert into”语句有异议,我也有异议。我收到了一系列错误,随后多次更改语法,然后收到新的错误。
目前,我有以下声明:
cursor.execute("""INSERT INTO test (Column 1,Column 2) VALUES (%s,%s)"""% arg)
哪里:
arg=("'5','2'")
运行代码输出标准的1064mysql错误。
如果有人能给我解释一下标准语法,那就太好了,因为我好像到处都找不到。
4条答案
按热度按时间vddsk6oq1#
试试这个。我换了衣服
%
->,
并在末尾添加值l3zydbqr2#
这从来不是解决这些问题的最佳方法,但使用
"".join(string)
```arg=(5,2)
query = "".join(["INSERT INTO test (Column 1,Column 2) VALUES (" , str(arg[0]), ", ", str(arg[1]),")"])
query
Out[25]: 'INSERT INTO test (Column 1,Column 2) VALUES (5, 2)'
wbgh16ku3#
我很感激你的回答,但我找到了解决办法。最后,我将db中的行改为“column1”而不是“column1”,这样就解决了问题。
bakd9h0s4#
如果字段或表的名称中有空格或其他特殊字符,则需要用``分隔。
这也是一个很好的习惯,因为它可以防止使用可能与保留或关键字混淆的标识符来诊断困难的问题。