You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python连接Trino时cursor.commit()提交操作无效果问题求助

问题:Python操作Trino执行DDL无效果(无报错无结果)

我可以通过Python从Trino拉取数据并进行处理,但尝试将处理后的数据上传至新表时,提交操作无任何效果。在DBeaver中可正常执行该表的DROP/CREATE操作,但使用Python执行简单的DROP TABLE操作时,既无报错也无提交结果。

可正常运行的查询代码

# 导入所需包
from trino.dbapi import connect
from trino.auth import BasicAuthentication
import pandas as pd

# 建立Trino连接
trino_conn=connect(
host='hostname.example.com',
port=8443,
user='user',
catalog='system',
schema='runtime',
http_scheme='https',
auth=BasicAuthentication("username", "password"),
)
trino_conn._http_session.verify = False
cursor = trino_conn.cursor()

query = """
SELECT  * FROM db.schema.sample_table
"""

cursor.execute(query)
rows = cursor.fetchall()
columns = [col[0] for col in cursor.description]
dataframe = pd.DataFrame(rows, columns=columns)

无法执行删除操作的代码

在DBeaver中成功创建表sample_table_II后,以下Python代码无法删除该表:

# 导入所需包
from trino.dbapi import connect
from trino.auth import BasicAuthentication

# 建立Trino连接
trino_conn=connect(
host='hostname.example.com',
port=8443,
user='user',
catalog='system',
schema='runtime',
http_scheme='https',
auth=BasicAuthentication("username", "password"),
)
trino_conn._http_session.verify = False
cursor = trino_conn.cursor()

cursor.execute("DROP TABLE db.schema.sample_table_II")
trino_conn.commit()

补充说明

我使用Teradata时,cursor.commit()可正常工作,示例代码如下:

import teradatasql
teradata_conn = teradatasql.connect(host='hostname.example.com', user='XXXXXXXXXX', password='XXXXXXXXXX')
cursor = teradata_conn.cursor()

内容的提问来源于stack exchange,提问作者becs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 14:32:44