1

I'm creating my first small project. I have a connection to the database using mysql-connector. The problem is when I enter data using the input function, I create variables where I want to enter previously entered values ​​into the database.

I get an error: *1136 (21S01): Column count doesn't match value count at row 1*

A part of code:

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()

When I was creating a table:

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) )")
2
  • in your insert command, all the values are not passed for each column Commented Jan 9, 2021 at 11:07
  • could you show me example insert command in this example? Commented Jan 9, 2021 at 12:03

2 Answers 2

0

try this

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()

you can see more in this link: Using Python variables in MySQL insert statement

Sign up to request clarification or add additional context in comments.

Comments

0

Thanks for help!

Solution:

        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()

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.