gpt4 book ai didi

python - Sqlalchemy 核心 - 动态 SQL 查询和转义值

转载 作者:行者123 更新时间:2023-12-04 02:19:27 35 4
gpt4 key购买 nike

我正在创建一个动态插入查询。

    sql = "INSERT INTO `" + self.db_name + "` ("
sql += ','.join(e.db_name for e in self.fields)
sql += ") VALUES ("
sql += ','.join(("'" + e.value + "'") for e in self.fields)
sql += ");"
result = s.execute(sql)

它工作正常,除了插入的值对特殊字符和 SQL 注入(inject)不安全。

我不能使用 SqlAlchemy text() 机制,因为我不知道表中字段的名称或数量。

我尝试了 MySQLdb.escape_string(),但它不适用于 Unicode。

如何在转义 unicode 值中的特殊字符时进行动态 sql 插入查询?

最佳答案

4年前想听的答案——

sql = 'INSERT INTO some_table (guid, name) VALUES (:guid_val, :name_val)'

db_session.execute(sql, {
"guid_val": uuid.uuid4(),
"name_val": "Hello world"
})

关于python - Sqlalchemy 核心 - 动态 SQL 查询和转义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31856223/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com