我在SlashDB 5.7之上安装了一个MySQL。我使用它来提供自定义REST调用,以允许其他人访问DB中的数据。其中大多数都是通过‘’特性实现的。
执行直接SQL查询时,将立即提交对DB的更改。但是,当我(通过select [function name])执行存储函数时,情况并非如此。该函数将执行得很好,但在我发出commit;之前不会提交对数据的任何更改。主要问题是,这会导致表和其他MySQL对象上的搁浅锁。
有人知道这里发生了什么吗?
发布于 2018-03-20 17:00:22
目前,唯一的方法是手动将?autocommit=true添加到/etc/slashdb/databases.cfg中的连接字符串中。
例如
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服务
sudo service slashdb stop
sudo service slashdb start或者调用存储过程而不是select存储函数。
https://stackoverflow.com/questions/49285435
复制相似问题