并非所有参数都用于SQL语句(Python,MySQL)
发布时间:2020-12-12 16:11:18 所属栏目:MsSql教程 来源:网络整理
导读:我在以下 Python代码中收到错误: import mysql.connectorcnx = mysql.connector.connect(user='root',password='',host='127.0.0.1',database='DB')cursor = cnx.cursor()Name = "James"Department = "Finance"StartYear = 2001CurrentPos = 2001Link = ""ad
我在以下
Python代码中收到错误:
import mysql.connector cnx = mysql.connector.connect(user='root',password='',host='127.0.0.1',database='DB') cursor = cnx.cursor() Name = "James" Department = "Finance" StartYear = 2001 CurrentPos = 2001 Link = "" add_user = ("INSERT INTO DB.tbluser " "(username,department,startyear,currentpos,link) " "VALUES (%s,%s,%d,%s)") data_user = (Name,Department,StartYear,CurrentPos,Link) cursor.execute(add_user,data_user) cnx.commit() cursor.close() cnx.close() 错误消息是 mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement 你明白为什么吗 解决方法参数标记是%s不是%d.add_user = """INSERT INTO DB.tbluser (username,link) VALUES (%s,%s)""" 请注意,mysql.connector使用的parameter markers可能与Python字符串格式化中使用的%s可能相同,但关系只是巧合.一些数据库适配器,如我们的SQL和sqlite3使用?作为参数标记而不是%s. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |