问题描述
我正在创建我的第一个小项目。我使用 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) )")
解决方法
试试这个
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)",(pytanie_mysql,value_pytanie))
mycursor.execute(sql)
db.commit()
您可以在此链接中查看更多信息:Using Python variables in MySQL insert statement