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

Mic*_*ael 8 mysql autocommit oracle-sqldeveloper

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

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

set autocommit=0;
Run Code Online (Sandbox Code Playgroud)

导致错误

set autocommit script命令强制关闭,因为连接级别自动提交已启用.

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

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

rob*_*rse 10

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

工具>首选项>数据库>高级>自动提交

默认为关闭.

替代方案:

set autocommit off;
Run Code Online (Sandbox Code Playgroud)


小智 3

如果您尝试使用,您将遇到错误

start transaction;

-- Your SQL statements

commit;
Run Code Online (Sandbox Code Playgroud)

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

为了解决迈克尔在评论中提到的这个错误,您可以使用以下提示:

/*sqldev:stmt*/start transaction;

-- Your SQL statements

/*sqldev:stmt*/commit;
Run Code Online (Sandbox Code Playgroud)

在这里找到了这个信息。