mich würde interessieren, was an meinem Skript hier falsch ist. Ich habe es mehr oder weniger direkt von einem Beispiel aus dem Internet übernommen, dennoch läuft es nicht.
Es geht einfach darum, in eine Testtabelle einer mariaDB-Datenbank einen Wert per Variable einzufügen. Das Ganze sieht so aus:
Code: Alles auswählen
db_connection = mariadb.connect(user="michi", password="geheim", database ="Datenbank1", host="localhost", port="3306")
cursor = db_connection.cursor()
cursor.execute("USE Datenbank1")
cursor.execute("SHOW TABLES")
for x in cursor:
print(x)
sql = "INSERT INTO test (wert) VALUES (%s)"
val = ("hi")
cursor.execute(sql, val)
db_connection.commit()
Code: Alles auswählen
Traceback (most recent call last):
File "db_test.py", line 49, in <module>
cursor.execute(sql, val)
File "/home/pi/.local/lib/python3.7/site-packages/mysql/connector/cursor.py", line 577, in execute
self._handle_result(self._connection.cmd_query(stmt))
File "/home/pi/.local/lib/python3.7/site-packages/mysql/connector/connection.py", line 695, in cmd_query
result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
File "/home/pi/.local/lib/python3.7/site-packages/mysql/connector/connection.py", line 582, in _handle_result
raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '%s)' at line 1
Viele Grüße