sql >> Databáze >  >> RDS >> Mysql

Počet parametrů dotazu MySQL odpovídá argumentům předaným k provedení, ale Python vyvolává ne všechny převedené argumenty

Správný způsob zápisu připravených příkazů je následující:

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

Chyba pochází ze skutečnosti, že modul mysql nenašel, kam umístit parametry, které mu dáváte, protože neinterpretuje otazníky jako zástupné symboly, a proto vytváří chybu, která vám říká, že _mysql_exceptions.ProgrammingError: not all arguments converted during string formatting , což v lidské řeči znamená, že se vaše agumenty nevešly do formátovacího řetězce.




  1. Pojmenování schématu spánku se mezi OS liší

  2. Optimalizace SELECT dotazu, který běží pomalu na Oracle, který běží rychle na SQL Server

  3. Jak číst všechny řádky z velké tabulky?

  4. V tabulce nelze zobrazit hodnoty oddělené čárkami