我有一张这样的桌子:
| 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.
我能够创建运行良好的查询:
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还不存在?
对于一个查询,这是可行的吗?
发布于 2020-04-22 20:26:20
使用空安全相等运算符<=>
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。
https://stackoverflow.com/questions/61374460
复制相似问题