使用MySQL时,在SQL Developer中禁用自动提交

时间:2013-07-24 06:32:26

标签: mysql oracle-sqldeveloper autocommit

我想使用Oracle SQL Developer连接到MySQL服务器,但禁用了自动提交。默认情况下,所有MySQL连接都启用了自动提交,这很奇怪。

未选中SQL Developer中的全局设置,

set autocommit=0;

导致错误

  

设置autocommit脚本命令强制关闭,因为连接级别自动提交已启用。

在连接的设置中除了主机名,端口和数据库选择的下拉框之外没有其他选项。

我正在使用SQL Developer 3.2.10和最新的JDBC连接器5.1。

8 个答案:

答案 0 :(得分:10)

在Oracle SQL Developer 4 中,设置已移动:

  

工具>偏好>数据库>高级>自动提交

默认为关闭。

替代:

set autocommit off;

答案 1 :(得分:3)

如果您尝试使用

,则会遇到错误
start transaction;

-- Your SQL statements

commit;

...在SQLDeveloper的MySQL数据库中开箱即用(正如迈克尔在对另一个答案的评论中提到的那样。)

为了解决Michael在评论中引用的错误,您可以使用以下提示:

/*sqldev:stmt*/start transaction;

-- Your SQL statements

/*sqldev:stmt*/commit;

找到此信息here

答案 2 :(得分:1)

Outils - >偏好设置 - > Fenetre SQL - >验证自动化交易SQL 取消选中复选框

答案 3 :(得分:1)

您可以启用AutoCommit 点击工具|喜好 打开数据库树 选择工作表参数 检查SQL Worksheet框中的Autocommit

答案 4 :(得分:0)

用'start transaction'和'commit'括起命令。 mysql在'start transaction'上关闭自动提交,直到'commit'或'rollback'被发出

答案 5 :(得分:0)

关闭SqlDeveloper中的自动提交选项。转到工具 - >偏好 - >数据库 - > ObjectViewer参数并取消选中Set Auto Commit On。

答案 6 :(得分:0)

set autocommit=false;--or true
--comment required/**/
/*sqldev:stmt*/start transaction; 
--your sql
/*sqldev:stmt*/commit;
/*sqldev:stmt*/rollback;

答案 7 :(得分:-1)

将sqlplus连接为sysadmin并输入命令" SET AUTOCOMMIT OFF"它作为命令关闭。 如果你想检查它是否关闭类型命令" show autocommit"它表现得像 "自动提交OFF"