Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MariaDb不支持任何_VALUE()函数_Php_Mysql_Sql_Laravel_Mariadb - Fatal编程技术网

Php MariaDb不支持任何_VALUE()函数

Php MariaDb不支持任何_VALUE()函数,php,mysql,sql,laravel,mariadb,Php,Mysql,Sql,Laravel,Mariadb,我有一个连接到mysql db的laravel项目,当我更换服务器时,我的代码失败了,因为我的新服务器有一个Mariadb,当我检查日志时,我意识到,Mariadb有一些不受支持的函数,它是任何值 如何根据MariaDb编辑我的sql select(DB::raw('SUM(price) as price, SUM(price_now) as price_now, ANY_VALUE(price_available) as price_available'),'adult_count')

我有一个连接到mysql db的laravel项目,当我更换服务器时,我的代码失败了,因为我的新服务器有一个Mariadb,当我检查日志时,我意识到,Mariadb有一些不受支持的函数,它是任何值

如何根据MariaDb编辑我的sql

select(DB::raw('SUM(price) as price, SUM(price_now) as price_now, 
   ANY_VALUE(price_available) as price_available'),'adult_count')

我已解决了替换此项的问题:

选择DB::raw'SUMprice as price,SUMprice\u now as price\u now, 任何可用的“价格”、“成人数量”

选择DB::raw'SUMprice as price,SUMprice\u now as price\u now,
价格可用“价格可用”和“成人计数”

我解决了以下问题:

选择DB::raw'SUMprice as price,SUMprice\u now as price\u now, 任何可用的“价格”、“成人数量”

选择DB::raw'SUMprice as price,SUMprice\u now as price\u now,
价格可用,如价格可用,“成人计数”

今天,您已经解决了这个问题。但是明天,当您运行相同的查询时,您将得到不同的错误

在MySQL或MariaDB的旧版本中,如果不按price_进行分组,则可以获得price_的任何值。这实际上介于不良做法和违反标准之间。相对最近,MariaDB,后来的MySQL,切换到只使用完整的GroupBy。当时,MySQL中出现了任何_值,但显然MariaDB放弃了这一点

旧的解决方法是使用MINprice_或其他聚合函数,这对于旧版本和新版本都应该是安全的。如果列可能有NULL,那么各种聚合可能会也可能不会以您喜欢的方式处理NULL


另请参见设置的唯一完整组。

今天,您已经解决了问题。但是明天,当您运行相同的查询时,您将得到不同的错误

在MySQL或MariaDB的旧版本中,如果不按price_进行分组,则可以获得price_的任何值。这实际上介于不良做法和违反标准之间。相对最近,MariaDB,后来的MySQL,切换到只使用完整的GroupBy。当时,MySQL中出现了任何_值,但显然MariaDB放弃了这一点

旧的解决方法是使用MINprice_或其他聚合函数,这对于旧版本和新版本都应该是安全的。如果列可能有NULL,那么各种聚合可能会也可能不会以您喜欢的方式处理NULL


另请按设置查看唯一的“已满”组。

似乎这仍然是一项基于的正在进行的工作。此外,这篇文章的最新评论暗示了一个可能的解决方法。看起来这仍然是一个基于。另外,这篇文章的最新评论暗示了一种可能的解决方法。小心,这依赖于MySQL中旧的允许分组行为。该代码将在新服务器上断开,并且只启用了\u FULL\u GROUP\u BY。。。默认情况下,此选项现在处于启用状态。。。这里是一个完整的讨论,请小心,这依赖于MySQL中旧的许可组行为。该代码将在新服务器上断开,并且只启用了\u FULL\u GROUP\u BY。。。默认情况下,此选项现在处于启用状态。。。下面是一个完整的讨论