我有一个mysql查询,它需要通过搜索供应商名称从supplier表中返回供应商ID,但它一直返回多个值。
CREATE DEFINER=`root`@`%` PROCEDURE `sp_insert_sup_order`(
supname varchar(50),
dat date,
total decimal(10,2)
)
BEGIN
insert into Supplier_Order
(
Supplier_ID,
SupDate,
Total,
Sup_Name
)
values
(
(select Supplier_ID from Supplier Where Supplier_ID.SupName = supname ),
dat,
total,
supname
);这就是问题所在。如有任何帮助,我们将不胜感激
发布于 2016-09-22 23:23:11
(select Supplier_ID from Supplier Where Supplier_ID.SupName = supname )应该是这样的:
(select Supplier_ID from Supplier Where Supplier.SupName = supname ),为什么您要在订单中存储供应商名称和id?这不应该这样做,镜像你必须更改供应商的名称,你将不得不更新所有订单。订单表中只存储供应商id!
https://stackoverflow.com/questions/39642953
复制相似问题