错误代码:1054 'where 子句'中的未知列'billId'
Posted
技术标签:
【中文标题】错误代码:1054 \'where 子句\'中的未知列\'billId\'【英文标题】:Error Code: 1054 Unknown column 'billId' in 'where clause'错误代码:1054 'where 子句'中的未知列'billId' 【发布时间】:2020-11-04 16:19:19 【问题描述】:虽然有很多类似的问题。它与其他人完全不同。而且我无法找到纠正确切错误的方法。这就是为什么在这里发布它。
我正在编写一个查询,我需要使用一个 ID 删除多个表上的条目。
我有estimate_id。我想删除 bill 表还有 bill_details 表。在 bill_details tbl 中存储了 bill_id。所以我写了一个查询来从 bill tbl 中进行选择。但是在 where 子句中使用它时最终出错了。
存储过程在这里:
CREATE DEFINER=`root`@`localhost` PROCEDURE `delete_by_estimation_no`(in_estimation_id int)
BEGIN
SET SQL_SAFE_UPDATES = 0;
select (id)projId from projects WHERE estimation_no=in_estimation_id;
DELETE FROM projects WHERE estimation_no=in_estimation_id;
DELETE FROM estimation WHERE id=in_estimation_id;
DELETE FROM estimation_details WHERE estimation_id=in_estimation_id;
select (id)billId from bill where estimation=in_estimation_id;
DELETE FROM bill WHERE estimation=in_estimation_id;
DELETE FROM bill_details WHERE bill_id=billId;
select (id)invoiceId from invoice where estimation=in_estimation_id;
DELETE FROM invoice WHERE estimation_no=in_estimation_id;
DELETE FROM invoice_details WHERE invoice_id=invoiceId;
select (id)crId from change_request where project_id=projId;
DELETE FROM change_request WHERE project_id=projId;
DELETE FROM change_request_details WHERE cr_id=crId;
END
我收到此错误。
错误代码:1054 'where 子句'中的未知列'billId'
[![Bill][1]][1]
【问题讨论】:
您能否添加让我们也知道架构?] 谢谢。使用 bill_id 而不是 billId。 【参考方案1】:bill_details 中没有 billId 列,但您可以通过查询从两个表中删除
DELETE bill, bill_details
FROM bill
INNER JOIN bill_details ON bill.id = bill_details.bill_id
(假设连接键是id和bill_id)
【讨论】:
我需要删除整行以上是关于错误代码:1054 'where 子句'中的未知列'billId'的主要内容,如果未能解决你的问题,请参考以下文章
查询中的错误 (1054):“where 子句”中的未知列“TableValue”
#1054 - MySQL 中“where 子句”中的未知列“proximite”
SQLSTATE [42S22]:找不到列:1054 'where 子句为啥'中的未知列'4'我找不到错误
未找到列:1054“where 子句”中的未知列“MONTH(date)”[重复]
SQLSTATE [42S22]:找不到列:1054 'where 子句'中的未知列'user_id'
SQLSTATE [42S22]:未找到列:1054 'where 子句'中的未知列 'id'(SQL:select * from `songs` where `id` = 5 limit 1)