向mysql列添加变量值

2024-09-27 19:20:38 发布

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

我正在创建我的第一个小项目。我使用mysql连接器连接到数据库。 问题是,当我使用输入函数输入数据时,我会在想要输入以前输入的值的地方创建变量​​输入数据库

我得到一个错误: *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) )")

Tags: 数据库truedbvaluecountmysqldoquestion
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()

试试这个

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

相关问题 更多 >

    热门问题