Ich denke, Sie beabsichtigen den Wert von db_name
anstelle des %s
einzufügen , wie ein Platzhalter in C
. Das geht nicht, wie du festgestellt hast. Stattdessen könnten Sie Folgendes tun:
create_statement = "CREATE DATABASE {:s}".format(db_name)
mycursor.execute(create_statement)
Auf diese Weise können Sie die Technik in komplexeren Situationen verwenden, in denen nach dem Wert, den Sie zu ersetzen versuchen, mehr SQL steht.