我尝试使用几种方法将数据插入mysql数据库,但全部出错: 在第一种方法中:
sql = ('''Insert into lgemployees (EmpID,Name,Gender,DOB,Address,PhoneNumber,Email)
VALUES (%d,$s,$s,$s,$s,$d,$s)''', (eid, name, gen, dob, add, mob, email))
mycursor.execute(sql)
mycursor.commit()
此方法中的错误:
'tuple' object has no attribute 'encode'
第二种方法:
sql = "Insert into lgemployees (EmpID,Name,Gender,DOB,Address,PhoneNumber,Email) VALUES(?,?,?,?,?,?,?,)"
val = (eid, name, gen, dob, add, mob, email)
mycursor.execute(sql, val)
mycursor.commit()
此方法中的错误:
"Not all parameters were used in the SQL statement")
mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement
我从头到尾都进行了很多故障排除,但是没有运气。任何人都可以帮忙,因为我在哪里错了,或者从python将数据插入到mysql中还有什么更好的选择。
答案 0 :(得分:1)
我不知道您的错误在哪里,但是我用此代码进行了测试,并且可以正常工作。
insert_tuple = (eid, name, gen, dob, add, mob, email)
sql = """INSERT INTO lgemployees (`EmpID `,
`Name`,`Gender`, `DOB`, `Address`, `PhoneNumber`, `Email`)
VALUES (%s,%s,%s,%s,%s,%s,%s)"""
mycursor = mySQLconnection.cursor()
mycursor.execute(sql, insert_tuple)
mySQLconnection.commit()
mycursor.close()
您的代码将抛出此错误,因为其中一个参数为空或其格式无法读取。
"Not all parameters were used in the SQL statement")
mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement