python的mysql插入表

2024-04-26 10:58:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我只想将表列表插入mysql数据库表中。代码如下:

import mysql.connector 
# Open database connection
a = [('apq3'), ('aquaporin')]
b = ["skin"]
c = ["down-regulated", "down regulation", "down regulate"]

def input_mysql(a1, b1, c1):
    db = mysql.connector.connect(user='root', password='xxxx',
                              host='localhost',
                              database='crawling')
    #sql = 'INSERT INTO crawling_result(search_content, content) VALUES(%s)' 
    sql_target_a = 'INSERT INTO a (term) VALUES(%s)'
    sql_target_b = 'INSERT INTO b (term) VALUES(%s)'
    sql_target_c = 'INSERT INTO c (term) VALUES(%s)'
    cursor=db.cursor()
    cursor.execute(sql_target_a, a1)
    cursor.execute(sql_target_b, b1)
    cursor.execute(sql_target_c, c1)
    db.commit()
    db.close()

a_content = a
b_content = b
c_content = c
input_mysql (a_content, b_content, c_content)

跑完之后,它一直显示”mysql.connector.errors错误.ProgrammingError:SQL语句中未使用所有参数。有人能帮我吗?你知道吗


Tags: targetinputexecutedbsqlconnectormysqlcontent
1条回答
网友
1楼 · 发布于 2024-04-26 10:58:20

有些列表ac有多个值,但在语句(%s)中只使用了一个值。这被认为是一个错误,因为不清楚额外的参数是否是故意的。你知道吗

如果要在源数组中为每个元素插入一行,请使用^{}并传入一系列参数:

a = [('apq3',), ('aquaporin',)]
b = [('skin',)]
c = [('down-regulated',), ('down regulation',) ('down regulate',)]

[...]

# Insert two rows (one for each parameter list in `a`)
cursor.executemany('INSERT INTO a (term) VALUES(%s)', a)

相关问题 更多 >