[错误]:where 子句中的列 'status' 不明确

[ERROR]: Column 'status' in where clause is ambiguous

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

我是 MySQL 的新手,我正在尝试将两个表连接在一起以获取结果,但我收到一条错误消息:Column status in where clause is ambiguous .

"status" is my function argument.

好吧,您的 table 似乎都有一个 status 列。尝试使用 table 名称(别名)作为前缀:

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

错误 Column 'status' in where clause is ambiguous 意味着您在查询中加入的 2 table 都有一个名为 status 的列,这就是为什么 Mysql 告诉您 column status is ambiguous

您可以通过指明 table 您要在查询中使用的 status 列来解决此问题。例子;

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

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