我正在尋找一個很好的「pythonic」和「SQL-Injection-free」解決方案,用於解決MySQL中保留字的問題。用Python轉義MySQL保留字dbapi
我有以下代碼:
alter_sql = 'ALTER TABLE %s ADD COLUMN %s TEXT'
cursor.execute(alter_sql, sql_params)
當列名是一樣的東西「指數」,「詮釋」,「限制」,會出現問題....
在MySQL外殼中,我可以這樣做:
ALTER TABLE test ADD COLUMN test.limit;
或
ALTER TABLE test ADD COLUMN `limit`;
但不是
ALTER TABLE test ADD COLUMN 'test.limit';
我該如何用Python和MySQLdb實現?
您正在使用的查詢的工作方式如何?它會輸出如下內容:'ALTER TABLE'mytable'ADD COLUMN ...'這不起作用... – jadkik94
生成的SQL將是''ALTER TABLE''test''ADD COLUMN''limit''TEXT''這是無效的。 – kijasek
您的原始查詢。它沒有輸出類似於我在評論中提到的內容嗎?我試過了,它不起作用:「檢查語法......」錯誤 – jadkik94