达梦数据库(dm8) 管理工具不会自动提交代码的坑
默认情况下,大多数数据库管理工具是开启了自动事务提交的,即执行了一句 Select
、Insert
、 Delete
、Update
之后会自动执行 commit
操作,
然而达梦数据管理工具不会,无论是命令行工具 disql
,还是可视化界面的达梦数据库管理工具都是默认执行了不会自动提交的,需要手动执行 commit
操作。
在工具里建议这样写 insert into tab1 values('sam',25);commit;
,否则会形成明明数据库数据改了,但是程序读取的数据没变的情况,即脏读。
临时修改可以通过如下方式配置,下面为官方文档说明:
设置当前 session 是否对修改的数据进行自动提交。
SET AUTO[COMMIT] <ON|OFF>
- ON:表示打开自动提交,所有执行的 SQL 语句的事务将自动进行提交。
- OFF:表示关闭自动提交,所有执行的 SQL 语句的事务将由用户显式提交,为默认设置
生活,有时候就是很简单,有时候却很要命。