我正在尝试运行此脚本,但我有这个错误:
您的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中,我尝试了很多不同的格式,但它总是相同的结果。
有什么想法吗?
感谢。
答案 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');