簡體   English   中英

在 Python 中使用占位符時出現 MySQL 語法錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM