Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

APIJSON能不能保证事务啊 #270

Closed
han-1023 opened this issue Jul 15, 2021 · 9 comments
Closed

APIJSON能不能保证事务啊 #270

han-1023 opened this issue Jul 15, 2021 · 9 comments

Comments

@han-1023
Copy link

前提:数据库表格之间没有任何关系
例子:添加一条数据到流水表 根据流水的账户id会锁定账户表主键id从而改变余额信息
像这样的操作一个要添加数据到表格,一个要修改数据,APIJSON的话一次请求不能完成的,这种的话怎么保证事物呢?

@TommyLemon
Copy link
Collaborator

TommyLemon commented Jul 15, 2021

增删改默认启用事务,但不支持同时 既增又删 这种两个以上操作,可以用远程函数做另一种操作
#101

@han-1023
Copy link
Author

调用远程函数的话意思是在增加数据的请求体里面调用远程函数 后端写修改sql语句是吗

@TommyLemon
Copy link
Collaborator

@han-1023
Copy link
Author

谢谢

@waveBoom
Copy link

增删改默认启用事务,但不支持同时 既增又删 这种两个以上操作,可以用远程函数做另一种操作 #101

这种说法 使用apijson新增,然后在远程函数里进行修改,那这两个操作是在一个事务里吗?
如果不在,那这两个操作 同时成功或者失败 是不是就没办法保证?

@TommyLemon
Copy link
Collaborator

增删改默认启用事务,但不支持同时 既增又删 这种两个以上操作,可以用远程函数做另一种操作 #101

这种说法 使用apijson新增,然后在远程函数里进行修改,那这两个操作是在一个事务里吗? 如果不在,那这两个操作 同时成功或者失败 是不是就没办法保证?

在,只要有一个失败,就整体失败,回滚事务。只有都成功整体才成功,提交事务。

@AwenJackson
Copy link
Contributor

增删改默认启用事务,但不支持同时 既增又删 这种两个以上操作,可以用远程函数做另一种操作 #101

这种说法 使用apijson新增,然后在远程函数里进行修改,那这两个操作是在一个事务里吗? 如果不在,那这两个操作 同时成功或者失败 是不是就没办法保证?

在,只要有一个失败,就整体失败,回滚事务。只有都成功整体才成功,提交事务。
@TommyLemon 我这个也是这样做的,特意把postString的内容改成新增已有的数据,但是修改可以成功修改,然后到新增之后由于id主键重复,导致无法添加就会报错,然后不应该是之前修改的数据也会回滚吗?为什么没有回滚
image

@TommyLemon
Copy link
Collaborator

TommyLemon commented Nov 4, 2022

@TommyLemon 我这个也是这样做的,特意把postString的内容改成新增已有的数据,但是修改可以成功修改,然后到新增之后由于id主键重复,导致无法添加就会报错,然后不应该是之前修改的数据也会回滚吗?为什么没有回滚

@AwenJackson
不要重复 new Parser/Controller,这样保证不了事务,必须在同一个 Parser 内处理。
可以传 DemoParser 实例 parser 到 DemoFunctionParser,然后 parser.parseResponse

@TommyLemon
Copy link
Collaborator

TommyLemon commented Jan 30, 2024

增删改默认启用事务,但不支持同时 既增又删 这种两个以上操作,可以用远程函数做另一种操作 #101

@han-1023 @28-HuaSheng @AwenJackson

APIJSON 6.0 + 后已支持一个请求同时 增删改查
#468

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants