将变量值添加到 mysql 列
Posted
技术标签:
【中文标题】将变量值添加到 mysql 列【英文标题】:Add variable value to mysql columns 【发布时间】:2021-04-14 21:58:36 【问题描述】:我正在创建我的第一个小项目。我使用 mysql-connector 连接到数据库。 问题是当我使用输入函数输入数据时,我创建了变量,我想将之前输入的值输入到数据库中。
我收到一个错误:
*1136 (21S01): Column count doesn't match value count at row 1*
部分代码:
mycursor = db.cursor()
wartosci_do_bazy = pytanie_mysql, odpowiedz_a, odpowiedz_b, odpowiedz_c, odpowiedz_d, odpowiedz_true_mysql, value_pytanie
sql = "INSERT INTO pytania (tresc_pytania, odpowiedz_A, odpowiedz_B, odpowiedz_C, odpowiedz_D, odpowiedz_true, question_value) VALUES (wartosci_do_bazy)"
mycursor.execute(sql)
db.commit()
当我创建表格时:
mycursor.execute(
"CREATE TABLE pytania (question_id INTEGER AUTO_INCREMENT PRIMARY Key,"
"tresc_pytania VARCHAR(255), odpowiedz_A VARCHAR(255),"
"odpowiedz_B VARCHAR(255), odpowiedz_C VARCHAR(255),"
"odpowiedz_D VARCHAR(255), odpowiedz_true VARCHAR(255),"
"question_value INTEGER(255) )")
【问题讨论】:
在你的插入命令中,所有的值都没有传递给每一列 你能告诉我这个例子中的插入命令示例吗? 【参考方案1】:试试这个
mycursor = db.cursor()
#pytanie_mysql, odpowiedz_a, odpowiedz_b, odpowiedz_c, odpowiedz_d, odpowiedz_true_mysql, value_pytanie
sql = ("INSERT INTO pytania
(tresc_pytania, odpowiedz_A, odpowiedz_B, odpowiedz_C, odpowiedz_D, odpowiedz_true, question_value)
VALUES
(%s, %s, %s, %s, %s, %s, %s)",
(pytanie_mysql, odpowiedz_a, odpowiedz_b, odpowiedz_c, odpowiedz_d, odpowiedz_true_mysql, value_pytanie))
mycursor.execute(sql)
db.commit()
您可以在此链接中查看更多信息:Using Python variables in MySQL insert statement
【讨论】:
【参考方案2】:感谢您的帮助!
解决方案:
wartosci_do_bazy = pytanie_mysql, odpowiedz_a, odpowiedz_b, odpowiedz_c, odpowiedz_d, odpowiedz_true_mysql, value_pytanie
print(wartosci_do_bazy)
sql = ("INSERT INTO pytania (tresc_pytania, odpowiedz_A, odpowiedz_B, odpowiedz_C, odpowiedz_D, odpowiedz_true, question_value) VALUES (%s, %s, %s, %s, %s, %s, %s)")
mycursor.execute(sql, (wartosci_do_bazy))
db.commit()
【讨论】:
以上是关于将变量值添加到 mysql 列的主要内容,如果未能解决你的问题,请参考以下文章