gpt4 book ai didi

mysql - 设置 session 变量时 MariaDB 类型错误

转载 作者:行者123 更新时间:2023-11-28 23:38:14 25 4
gpt4 key购买 nike

为什么以下查询适用于 Maria DB (10.1.9)...

  • SET SESSION wait_timeout = 28000;
  • SET SESSION wait_timeout = @@wait_timeout;
  • SELECT GREATEST(28000, @@wait_timeout);

...但那个不是?

  • SET SESSION wait_timeout = GREATEST(28000, @@wait_timeout)

它抛出一个类型错误:

#1232 - Incorrect argument type to variable 'wait_timeout`

尽管可以通过替换 @wait_timeout 来解决此错误与 CAST(@@wait_timeout AS INT)CONVERT(@@wait_timeout, SIGNED) (后者也适用于 MySQL)到查询 我想知道为什么第二个和第三个查询有效。

这是怎么回事?它不可能是 GREATEST 操作,因为查询 3 有效并且它不能是不同的变量类型,因为(隐式)转换将在查询 2 中失败(无论如何它应该具有相同的类型)。其他系统变量也会发生同样的事情。

顺便说一句:相同的查询在 MySQL 下工作(在 MySQL 5.6 版的 SQLfiddle 中尝试过)所以这是 MariaDB 和 MySQL 之间的不一致。

感谢任何帮助!

最佳答案

正如一些人猜对的那样:这是最近引入的一个错误(现已确认)。

有关更多详细信息,请查看 mariadb 问题跟踪器: https://jira.mariadb.org/browse/MDEV-9516

更新 (2016-03-21)

关于 bugtracker,问题似乎已在 10.1.13 中修复。

关于mysql - 设置 session 变量时 MariaDB 类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35187378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com