首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与mysql不一致的行为为空运算符。

问与mysql不一致的行为为空运算符。
EN

Stack Overflow用户
提问于 2014-04-08 22:20:13
回答 1查看 36关注 0票数 0

我有一个用Zend框架建立的网站。

此查询:

代码语言:javascript
复制
$select
  ->from(table, new Zend_Db_Expr('COUNT(1) AS zend_paginator_row_count'))
  ->where("`resource_type` IS NULL)

在本地服务器中,返回一个已填充的Zend_Db_Select对象,但在我的主机服务器中不返回。相反,我需要将查询修改为:

代码语言:javascript
复制
  $select
  ->from(table, new Zend_Db_Expr('COUNT(1) AS zend_paginator_row_count'))
  ->where("`resource_type` = '')

为什么会发生这种情况,有原因或解释吗?显然,数据是以相同的方式插入到两个服务器中的。

谢谢卢卡斯。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-08 22:24:28

不管是以不同的方式插入数据,还是表定义不同。在您的开发服务器中,您的字段可能为空和/或没有默认值。在主机的服务器上,字段是不同的。它可能不可空或默认值为'',这将导致新记录自动包含空字符串而不是NULL。

注意,在甲骨文中,NULL和''是相同的,但在MySQL中,它们是两种不同的东西。因此,在您的例子中,不一致性不是在运算符,而是在数据中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22949322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档