当我尝试使用 FOR UPDATE NOWAIT 时,MariaDB 抛出错误

Posted

技术标签:

【中文标题】当我尝试使用 FOR UPDATE NOWAIT 时,MariaDB 抛出错误【英文标题】:MariaDB throws an error when I try to use FOR UPDATE NOWAIT 【发布时间】:2020-09-26 01:35:39 【问题描述】:

当我尝试在我的选择查询中使用 NOWAIT 时出现以下错误。

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NOWAIT' at line 1

我的 Mariadb 版本是10.2.29-MariaDB-1:10.2.29+maria~bionic

有人可以帮帮我吗?

【问题讨论】:

在 MariaDB 10.3.0 中添加了 NOWAIT 选项。 @Barmar 谢谢,您还有其他我可以使用的解决方案吗?我目前无法升级版本。 我很好奇。您想要NOWAIT 的用例是什么? 【参考方案1】:

WAIT 关键字已添加到 MariaDB 10.3.0 中。

在此之前,控制锁等待时间的等待是通过设置变量lock_wait_timeoutinnodb_lock_wait_timeout。将适当的变量设置为0 等效于NOWAIT

【讨论】:

以上是关于当我尝试使用 FOR UPDATE NOWAIT 时,MariaDB 抛出错误的主要内容,如果未能解决你的问题,请参考以下文章

锁定数据行 for update和for update nowait

For update 与 For update nowait 的区别

for update 和 for update nowait 的区别

for-update与for-update nowait

JAVAFOR UPDATE 和 FOR UPDATE NOWAIT 区别 (转)

oracle for update和for update nowait的区别