首页 > 解决方案 > Python - 在数据库表中插入

问题描述

我有一个变量,我想将它的值插入到我的数据库表中。我有这个,但这不起作用:

import mysql.connector
import statistics
idk = []
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="",
  database="python"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT `First Name` FROM employees")

myresult = mycursor.fetchall()

for x in myresult:
    idk.append(x)

y = statistics.mode(idk)
f = '( ,)'.join(y)

print(f)

mycursor.execute("INSERT INTO results (`First Name`) VALUES (%s)", f)

mydb.commit()

我得到这个错误:

mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“%s)”附近使用正确的语法

标签: pythonmysqlpython-3.x

解决方案


谢谢,我已经找到答案了。我只需要在 [] 中输入 f。

import mysql.connector
import statistics
idk = []
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="",
  database="python"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT `First Name` FROM employees")

myresult = mycursor.fetchall()

for x in myresult:
    idk.append(x)

y = statistics.mode(idk)
f = '( ,)'.join(y)

print(f)

mycursor.execute("INSERT INTO results (`First Name`) VALUES (%s)", [f])

mydb.commit()

推荐阅读