[英]MySQL syntax error while working with placeholders in Python
我想用一列創建表名,但出現此錯誤:
mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 語法有錯誤; 檢查與您的 MySQL 服務器版本相對應的手冊,了解在第 1 行的 ''test' 'int')' 附近使用的正確語法
我正在嘗試使用的代碼:
table_name = 'test'
create_table = f'CREATE TABLE {table_name} (%s %s)'
cursor.execute(create_table,(headers[0], data_types[0],))
我試過手動輸入表名、列名和數據類型,但結果相同。 我已經看到很多關於這個問題的解決方案,但沒有一個解決這個問題
您只是無法綁定查詢的這一部分。 綁定參數主要用於替換查詢中的字面量,而不是其中的隨機部分。 在幕后,您的 RDBMS 必須能夠在不查看綁定參數值的情況下准備查詢。
在這種情況下,您需要字符串連接:
table_name = 'test'
create_table = f'CREATE TABLE {table_name} ({headers[0]} {data_types[0]})';
cursor.execute(create_table);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.