gpt4 book ai didi

mysql - 这段代码怎么会出错呢? SQL 错误代码 1109 : Unknown table 'o' in field list

转载 作者:行者123 更新时间:2023-11-29 23:47:56 30 4
gpt4 key购买 nike

当我运行这段代码时,它给了我错误。从这段代码中,有几项任务需要完成: (1) 如果 c_id= 1,则通过将地址设置为“90 TYT”来更新客户表(2)查看order_no,status,c_id,item_total备注。(3)如果item_total为0,则通过设置remarks = 'UNAVAILABLE'来更新表order_status,否则选择order_no,status,item_total,remarks,其中status = 'waiting'。

请帮我修复错误。我是 SQL 新手。

#drop procedure if exists usp_GetAnything;
delimiter //
create procedure usp_GetAnything()
begin

select c_id,lname,address,city
from customer;
update customer
set address = '90 TYT'
where c_id = 1;

select o.order_no,o.o_status,c.c_id,o.item_total,o.remarks
from customer c, order_status o
where c.c_id=o.c_id;

if (o.item_total > 0) then
update order_status o
set remarks = 'UNAVAILABLE'
where order_no > '123';
else
select order_no,o_status,item_total,remarks
from order_status
where o_status = 'waiting';

end if;

end

最佳答案

线路失败:

 if (o.item_total > 0)

o在之前的select之外是未知的子句包括所有选定的变量。

为了使用从先前选择返回的结果,您应该 select ... INTO...(选择结果参数到声明的局部变量中)。

您可以找到here 以下示例:

DELIMITER //
CREATE PROCEDURE `proc_WHILE` (IN param1 INT)
BEGIN
DECLARE variable1, variable2 INT;
SET variable1 = 0;

WHILE variable1 < param1 DO
INSERT INTO table1 VALUES (param1);
SELECT COUNT(*) INTO variable2 FROM table1;
SET variable1 = variable1 + 1;
END WHILE;
END //

您可以看到variable1variable2在过程的开头声明,稍后与 select ... INTO ... 一起使用.

关于mysql - 这段代码怎么会出错呢? SQL 错误代码 1109 : Unknown table 'o' in field list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25819529/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com