正确的语法使用附近

时间:2015-04-10 09:18:35

标签: python mysql

我正在尝试运行此脚本,但我有这个错误:

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在'(比出现3个用户)'附近使用正确的语法 第1行

代码:

conn = mysql.connector.connect('localhost','root,'','dbtest')          
cursor = conn.cursor()

add_data = ("""INSERT INTO data VALUES %s,%s,%s""" %(user, twet, time))
cursor.execute(add_data)

conn.commit()
cursor.close()
conn.close()

我相信错误在%s,%s,%s中,我尝试了很多不同的格式,但它总是相同的结果。

有什么想法吗?

感谢。

3 个答案:

答案 0 :(得分:2)

连接数据库的正确语法应在以下行中阅读:

conn = mysql.connector.connect('localhost','root','','dbtest')

也许可以将insert语句更改为:

add_data = ("INSERT INTO data VALUES (\"%s\",\"%s\",\"%s\")" % (user, twet, time))

答案 1 :(得分:1)

您绝不能在SQL查询中使用字符串替换。使用db-api的参数替换。除了其他任何东西,它将解决你的一个语法问题,即你的字符串没有被引用;它会自动完成。

正如Mario所指出的,你所遇到的另一个语法问题是,VALUES的参数需要在括号中。所以,把它们放在一起:

add_data = """INSERT INTO data VALUES (%s,%s,%s)"""
cursor.execute(add_data, (user, twet, time))

答案 2 :(得分:0)

正确的语法应该是括号:

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');