sql >> Database >  >> RDS >> Mysql

Aantal MySQL-queryparameters komt overeen met argumenten die zijn doorgegeven om uit te voeren, maar Python roept niet alle geconverteerde argumenten op

De juiste manier om voorbereide verklaringen te schrijven is als volgt:

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

De fout komt van het feit dat de mysql-module niet kan vinden waar de parameters moeten worden geplaatst die u eraan geeft, omdat het de vraagtekens niet als tijdelijke aanduidingen interpreteert en dus een fout produceert die u vertelt dat _mysql_exceptions.ProgrammingError: not all arguments converted during string formatting , wat in menselijke taal betekent dat het niet in je agumenten past in de opmaakreeks.




  1. Haal het teken tussen de eerste 2 speciale tekens in SQL

  2. Hoe de QUOTENAME()-functie werkt in SQL Server (T-SQL)

  3. Kan een refererende sleutel verwijzen naar een niet-unieke index?

  4. Een MariaDB Galera-cluster runnen zonder orkestratietools - DB Container Management:deel twee