Unknown table 'NEWselect' in field list
时间: 2023-09-26 17:09:42 浏览: 51
这个错误可能是因为在SELECT语句中使用了别名,但是别名没有正确设置。请检查SQL语句中的SELECT语句,确保别名设置正确。另外,也可能是因为该语句中涉及的表或字段名称不正确,建议仔细检查SQL语句中的表和字段名称是否正确。如果还有问题,请提供完整的SQL语句和相关表的结构,我们可以一起来看看问题所在。
相关问题
UPDATE Borrow SET ReturnTime = '2023-06-09' WHERE BookID = '1002' AND ReaderID = '20230101'; 1109 - Unknown table 'NEWselect' in field list
这是一个SQL语句,但是出错了。错误提示是:1109 - Unknown table 'NEWselect' in field list。这个错误通常是因为SELECT语句的别名没有正确设置导致的。请检查该SQL语句中是否有使用了SELECT语句的别名,并且别名是否正确设置。如果有问题,请修改别名并重新执行该SQL语句。另外,请确保该SQL语句中所涉及的表和字段名称都是正确的。
create trigger Book_return_Stock after update on Borrow for each row begin IF NEWselect.ReturnTime IS NOT NULL THEN UPDATE book SET Stock = Stock + 1 where BookID = New.BookID; end if; end; UPDATE Borrow SET ReturnTime = '2023-06-09' WHERE BookID = '1002' AND ReaderID = '20230101';
这个SQL语句包括了创建触发器和执行更新语句两部分。在这里需要注意的是,语句中的NEWselect是一个错误的别名,应该是NEW。正确的触发器代码如下:
```
CREATE TRIGGER Book_return_Stock AFTER UPDATE ON Borrow
FOR EACH ROW
BEGIN
IF NEW.ReturnTime IS NOT NULL THEN
UPDATE book SET Stock = Stock + 1 WHERE BookID = NEW.BookID;
END IF;
END;
```
这个触发器的作用是,当Borrow表的某一行更新后,判断是否已经归还(即ReturnTime是否为NULL),如果已经归还,则将相应图书库存加1。注意,这个触发器中的book表和Borrow表必须存在,并且book表中必须有一个Stock字段。
接下来的UPDATE语句是用来测试这个触发器的,它将Borrow表中BookID为1002、ReaderID为20230101的借阅记录的归还时间设置为2023年6月9日。执行这个UPDATE语句后,如果触发器设置正确,那么book表中相应图书的库存应该会加1。