SQL 錬金術で Text オブジェクトを利用したパラメーター化されたクエリを使用していますが、異なる結果が得られています。
作業例:
import sqlalchemy as sqlal
from sqlalchemy.sql import text
db_table = 'Cars'
id_cars = 8
query = text("""SELECT *
FROM Cars
WHERE idCars = :p2
""")
self.engine.execute(query, {'p2': id_cars})
sqlalchemy.exc.ProgrammingErrorを生成する例: ( pymysql.err.ProgrammingError ) (1064、"SQL 構文にエラーがあります)
import sqlalchemy as sqlal
from sqlalchemy.sql import text
db_table = 'Cars'
id_cars = 8
query = text("""SELECT *
FROM :p1
WHERE idCars = :p2
""")
self.engine.execute(query, {'p1': db_table, 'p2': id_cars})
SQLインジェクションからも保護されている動的テーブル名でクエリを実行する方法について何か考えはありますか?