[英]Why am I getting “FROM expression expected” from SQLAlchemy when I'm trying to update a row in a table?
[英]Why am I getting an error when using the UPDATE function with SQLAlchemy?
我有以下代碼:
SQLQuery="UPDATE Players SET [Player Name] = REPLACE(REPLACE([Player Name], 'Christian', 'Chris') , 'Reece', 'John')"
df = pd.read_sql(SQLQuery, sqlcon)
但是,當我運行代碼時,出現以下錯誤:
ResourceClosedError: This result object does not return rows. It has been closed automatically.
我在 SSMS 中運行了相同的 SQL 代碼,它運行良好。 為什么會發生這種情況?
您應該只執行查詢,而不是嘗試將結果讀入數據框中,因為UPDATE
查詢沒有結果。
SQLQuery="UPDATE Players SET [Player Name] = REPLACE(REPLACE([Player Name], 'Christian', 'Chris') , 'Reece', 'John')"
sqlcon.execute(SQLQuery)
pd.read_sql 旨在從 sql 數據庫中檢索數據,您的查詢正在嘗試在數據庫中進行更新。
為了進行簡單的更新,您可以使用 SQLAlchemy 執行,從文檔中,語法如下:
from sqlalchemy import text
with engine.connect() as connection:
result = connection.execute(text("select username from users"))
for row in result:
print("username:", row['username'])
如果您使用例如 ORM 等,還有其他可能的語法和樣式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.