Mysql
 sql >> база данни >  >> RDS >> Mysql

Броят на параметрите на заявката на MySQL съвпада с аргументите, предадени за изпълнение, но Python не повдига всички преобразувани аргументи

Правилният начин за писане на подготвени изявления е следният:

def create_student(surname, forename, dob, address, phone, gender, tutor, email):
    cursor = mysql.connection.cursor()
    cursor.execute('''
        INSERT INTO students(surname, forename, dob, address, phone, gender, tutor, email)
        VALUES(%s, %s, %s, %s, %s, %s, %s, %s)''', (surname, forename, dob, address, phone, gender, tutor, email))
    mysql.connection.commit()

Грешката идва от факта, че модулът mysql не намира къде да постави параметрите, които му давате, тъй като не интерпретира въпросителните знаци като заместители и по този начин създава грешка, която ви казва, че _mysql_exceptions.ProgrammingError: not all arguments converted during string formatting , което на човешки език означава, че не може да побере вашите агументи във форматния низ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да покажа изображение от mysql blob

  2. PHP/MySQL - Синтактична грешка на SQL?

  3. MySQL „АКТУАЛИЗИРАНЕ НА ДУБЛИКАТ КЛЮЧ“ без уникална колона?

  4. RuntimeError:работи извън контекста на приложението

  5. MySQLi - деклариране на променлива след bind_param?