sql - Jupyter notebook:使用 %sql 魔法关键字时禁用自动提交
问题描述
我在 Jupyter notebook 中使用%sql
and关键字来删除 sql 记录。%%sql
我使用以下连接到数据库:
%load_ext sql
%sql oracle+cx_oracle://user/pwd@tnsname
但是,当我执行删除语句时,似乎之后会自动完成提交:
%%sql
delete from my_table
在此 DML 操作之后,当我打开另一个会话并执行 aselect count(*) from my_table
时,结果为零。
如何使用%sql
魔法关键字禁用自动提交?
附录,当我使用该%config SqlMagic.autocommit=False
选项时,我有:
用户警告:配置选项
autocommit
无法识别SqlMagic
。你的意思是autolimit
?
谢谢
解决方案
我认为您需要在运行连接之前更改配置:
%config SqlMagic.autocommit=False
For Databases 默认情况下始终为 true,实际上它始终为 true。例如,如果您需要连接到 IMPALA,您需要先禁用它。
%config SqlMagic.autocommit=False
%sql impala://hserverhost:port/default?kerberos_service_name=hive&auth_mechanism=GSSAPI
推荐阅读
- c# - OnReceivedError 已过时:“已弃用”
- ios - iOS/Swift:处理密码重置链接
- botframework - 不使用通道默认设置调用部署在 Azure 机器人服务中的 Cortana 技能
- ios - 导航栏标题的视图自动布局
- javascript - 遍历一个集合,其中键是 ID,值是用户类
- ios - 捕获视频并通过 AVAssetWriter 保存
- c# - WPF。是否有用于在 WPF 中选择字体的对话框窗口?
- java - JTabbedPane 更改侦听器以从文件中读取
- amazon-web-services - 如何在 Fn::Sub 中正确执行正则表达式
- mysql - 访问几何字段的纬度和经度