sqlalchemy - 执行纯文本(不绑定参数)

时间:2018-04-03 11:03:47

标签: python sqlalchemy

我正在尝试使用SQLAlchemy将一些行插入到数据库表中,但是某些行包含SQLAlchemy将其解释为参数的字符串。这会导致错误,即使我只想完全按原样插入字符串。

例如,一个条目如下:

  

abc,\“depth \”:0,

它应该执行的查询是:

  

INSERT INTO schema.table VALUES('abc,\“depth \”:0,')

(我意识到我需要将\“更改为数据库的双反斜杠以正确解释它。)

导致错误:

  

sqlalchemy.exc.StatementError:(sqlalchemy.exc.InvalidRequestError)绑定参数'0'需要一个值[SQL:“INSERT INTO schema.table VALUES('abc,\”depth \“%(0)s ,')\ n“] [参数:[{}]](关于此错误的背景:http://sqlalche.me/e/cd3x

有没有办法让SQLAlchemy按原样插入字符串(不修改它或尝试解释它)?

感谢。

基本上,代码是:

engine = create_engine(...)
session = sqlalchemy.orm.sessionmaker(bind=engine)
query = """INSERT INTO schema.table VALUES ( 'abc, \“depth\“:0,')"""
session.execute(query)
session.commit()
session.close()

但是查询是在成千上万的字符串循环中以编程方式创建的(并且每天都会有新字符串),因此我没有预先知道每个字符串是什么。

0 个答案:

没有答案