首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:返回值,即使WHERE为null

问MySQL:返回值,即使WHERE为null
EN

Stack Overflow用户
提问于 2020-04-22 20:23:01
回答 1查看 34关注 0票数 0

我有一张这样的桌子:

代码语言:javascript
复制
| article_id | parent_article_id | title         |
|------------|-------------------|---------------|
|         90 |              NULL | First article |
|         91 |                90 | part 2        |
|         92 |                90 | part 3        |
|         93 |                90 | part 4        |
|         94 |              NULL | 2f3           |
|         95 |              NULL | reer          |

在PHP中,我有一个select下拉框,我希望在parent_article_id为null的文章中填充select控件(不包括article_id im处理)。

所以,如果我正在处理article_id 90,我想返回所有可用的父母,即article_id:94,95 (im不包括article_id im处理:90).

如果我正在处理article_id 91,我想返回: 90,94,95.

如果我正在处理article_id 95,我想返回: 90,94.

我能够创建运行良好的查询:

代码语言:javascript
复制
SELECT
    a.article_id,
    a.parent_article_id,
    a.title
FROM
    article a
WHERE
    a.article_id != ? AND a.parent_article_id IS NULL
ORDER BY
    a.article_id

....

$stmt = $conn->prepare($q);
$stmt->bind_param('i', $articleid);
$stmt->execute();

问题是当我创建一篇新文章时,因此我处理的article_id是空的(还不存在).查询不返回任何内容,这是合乎逻辑的。我想返回所有空的parent_article_id,即使article_id还不存在?

对于一个查询,这是可行的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-22 20:26:20

使用空安全相等运算符<=>

代码语言:javascript
复制
SELECT
    a.article_id,
    a.parent_article_id,
    a.title
FROM
    article a
WHERE
    NOT a.article_id <=> ? AND a.parent_article_id IS NULL
ORDER BY
    a.article_id

并将$articleid设置为null。

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

https://stackoverflow.com/questions/61374460

复制
相关文章

相似问题

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