SQL炼金术类型错误:where()获得意外的关键字argumen

2024-09-30 18:24:38 发布

您现在位置:Python中文网/ 问答频道 /正文

简单的pythonsqlalchemywhere(),但是这个错误让我抓狂。想不出来。在

In [1]: import sqlalchemy as sa
   ...: import pandas as pd
   ...: 
   ...: import etl_utils as eu

In [2]: engine = eu.set_db('s','username',input('enter password:\t'),
   ...:                    sql_database_name='DBNAME')

In [3]: meta = sa.MetaData(engine)
   ...: meta.reflect()

。。。修订版。。。在

^{pr2}$

为什么我不能把kwarg传给where()??所有的例子和在线文档表明你可以!在

编辑: 尝试使用评论中的建议,但没有奏效:

In [8]: tbl.update().where(tbl.ImportInfoID_FK=398).values(SecurityPrice=8.5)
  File "<ipython-input-8-53fb97b0906a>", line 1
    tbl.update().where(tbl.ImportInfoID_FK=398).values(SecurityPrice=8.5)
                      ^
SyntaxError: keyword can't be an expression


In [9]: tbl.update().where(tbl.c.ImportInfoID_FK=398).values(SecurityPrice=8.5)
  File "<ipython-input-9-c1ceb5a2591f>", line 1
    tbl.update().where(tbl.c.ImportInfoID_FK=398).values(SecurityPrice=8.5)
                      ^
SyntaxError: keyword can't be an expression

Tags: inimportinputassaupdatewhereengine