首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SlashDB在MySQL中执行存储函数后不提交事务

问SlashDB在MySQL中执行存储函数后不提交事务
EN

Stack Overflow用户
提问于 2018-03-14 18:39:34
回答 1查看 46关注 0票数 1

我在SlashDB 5.7之上安装了一个MySQL。我使用它来提供自定义REST调用,以允许其他人访问DB中的数据。其中大多数都是通过‘’特性实现的。

执行直接SQL查询时,将立即提交对DB的更改。但是,当我(通过select [function name])执行存储函数时,情况并非如此。该函数将执行得很好,但在我发出commit;之前不会提交对数据的任何更改。主要问题是,这会导致表和其他MySQL对象上的搁浅锁。

有人知道这里发生了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-20 17:00:22

目前,唯一的方法是手动将?autocommit=true添加到/etc/slashdb/databases.cfg中的连接字符串中。

例如

代码语言:javascript
复制
myChinook:
  alternate_key: {}
  autoconnect: true
  autoload: true
  autoload_user: {dbpass: chinook, dbuser: chinook}
  connection: 127.0.0.1:3308/Chinook?autocommit=true
  creator: admin
  db_encoding: utf-8
  db_id: myChinook
  db_schema: null
  db_type: mysql
  desc: ''
  excluded_columns: {}
  execute: []
  foreign_keys: {}
  owners: [admin]
  read: []
  write: []

对文件进行手动更改后,需要重新启动SlashDB服务

代码语言:javascript
复制
sudo service slashdb stop
sudo service slashdb start

或者调用存储过程而不是select存储函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49285435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档