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. MySQL:なぜvarchar(255)ではなくvarchar(254)なのですか?

    2. オフセット制限のあるクエリの選択が遅すぎる

    3. MYSQL-制限によるグループ化

    4. 行androidを更新するSqliteデータベース