存在模糊的where子句中的列'status'
P粉127901279
P粉127901279 2024-02-25 17:41:22
0
2
431

cursor.execute(
"SELECT * FROM `xplt_cases` LEFT JOIN `dgn_cases` ON dgn_cases.rid = xplt_cases.rid WHERE `status`=%(checker)s",
{
  'checker': status
})

我是 MySQL 新手,我试图将两个表连接在一起以获取结果,但我收到一条错误消息:where 子句中的列 status 不明确。

“status”是我的函数参数。

P粉127901279
P粉127901279

全部回复(2)
P粉066224086

嗯,看来您的两个表都有一个 status 列。尝试用表名(别名)作为前缀:

SELECT * FROM `xplt_cases` x LEFT JOIN `dgn_cases` ON dgn_cases.rid = xplt_cases.rid 
WHERE x.`status`=%(checker)s
P粉850680329

错误 Column 'status' in where 子句是不明确的 意味着您在查询中加入的 2 个表都有一个名为 status 的列,这就是为什么 Mysql 告诉您 column 状态是不明确的

您可以通过指示表中要在查询中使用哪个 status 列来解决此问题。示例;

xplt_cases.`status`=%(checker)s"

dgn_cases.`status`=%(checker)s"
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板