mysql avg 空_mysql – 具有AVG功能的空集的UNION和任何非...

这是我的第一个问题,所以请耐心等待.. ?

我们是两个开发人员,两者都具有相同的表和值的MySql DB.

一个是MySql版本5.5并且正常工作(显然),其他开发人员告诉我.

在我的机器上使用MySql 5.1.44(一个基本的MAMP安装)我有以下奇怪的问题.

一个非常大的查询(不是我的)失败,错误“列’xd’不能为空”.

删除件我把它简化为:

select xd, avg(media) from questionario_punteggi where somefield = 1 union select 1,2

注意,没有记录somefield = 1所以第一个选择返回一个空集

我们有一个SELECT with AVG()函数返回一个空集UNION另一个SELECT返回一些东西(1,2只是我现在放的随机值作为例子)

>如果我删除了AVG(),则查询有效.

>如果我删除xd(以及右边的1,2中的2),查询将起作用.

>如果我删除UNION,查询将起作用.

>如果我用somefield = 1设置一些记录,则查询有效.

>在另一台机器5.5上查询有效.

否则错误是:

1048 – 列’xd’不能为空

领域是:

`xd` char(3) NOT NULL DEFAULT '001',

`media` decimal(7,4) NOT NULL DEFAULT '0.0000',

`somefield` tinyint(4) NOT NULL DEFAULT '0',

天哪.有帮助吗?谢谢.

UPDATE

据我所知,MySql< = 5.1中的BUG是在MySql 5.5之前修复的.我没有细节,但我相信来源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值