首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择多个非空字段的MySQL不能工作

选择多个非空字段的MySQL不能工作
EN

Stack Overflow用户
提问于 2012-04-05 20:31:46
回答 2查看 1.1K关注 0票数 0

我有一个查询,它将数据从多个从表传输到单个主表。下面是我的一个查询的示例:

代码语言:javascript
复制
$insert = mysql_query("
INSERT IGNORE INTO master (title, description, keywords, url, uniqueid, city, state, zip, datetime, expiretime)
SELECT title, description, keywords, url, uniqueid, city, state, zip, datetime, expiretime
FROM slave1 WHERE zip IS NOT NULL AND keywords IS NOT NULL AND city IS NOT NULL") or die(mysql_error());

运行此查询后,数据行将被插入到master中,其中一部分或全部字段为NULL,其中我指定它们为NOT NULL (字段为zipkeywordscity)。

看起来mysql完全忽略了IS NOT NULL参数。有人知道解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-05 20:35:21

尝试将zip IS NOT NULL替换为TRIM(zip) <> ""

票数 2
EN

Stack Overflow用户

发布于 2012-04-05 20:39:35

我怀疑唯一的才是主要的钥匙。也许,您的主表已经包含了具有相同键的行,这些行具有空的城市值,等等。在这种情况下,您应该使用替换而不是插入忽略。

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

https://stackoverflow.com/questions/10035579

复制
相关文章

相似问题

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