相关疑难解决方法(0)

mysql - 制作类似于Oracle的seqences的机制

MySQL提供了一种增加记录ID的自动机制.这可以用于许多目的,但我需要能够使用ORACLE提供的序列.显然,为此目的创建表是没有意义的.

解决方案应该很简单:

1)创建一个表来托管所有需要的序列,

2)创建一个增加特定序列值并返回新值的函数,

3)创建一个返回序列当前值的函数.

从理论上讲,它看起来很简单......但......

增加序列的值(与nextvalOracle中的大致相同)时,需要阻止其他会话执行此操作(甚至获取当前值),直到更新完成.

两个理论选择:

a - 使用UPDATE语句,该语句将在单个镜头中返回新值,或者

b - 在UPDATE和SELECT之间锁定表.

不幸的是,似乎MySQL不允许在函数/过程中锁定表,并且在尝试在单个语句中完成整个操作(如UPDATE ... RETURNING ...)时,必须使用@ -type变量才能生存完成功能/程序.

有没有人有这个想法/工作解决方案?

谢谢.

mysql sequences

1
推荐指数
1
解决办法
825
查看次数

标签 统计

mysql ×1

sequences ×1