我的数据库中有一个products
包含列/字段的表:
- 产品编号
- 产品名称
- 描述
- 供应商
- 购买日期
- 数量
现在,我想要实现的是:
- 每次我想在
products
表中添加新值时,新输入的“产品名称”和“供应商”值都会比较products
表中存在的所有值。
场景:
- 如果表中已经存在新的产品名称和供应商值
products
,则新值的数量将添加到现有值的数量中 - ELSE 如果它不存在,则将 NEW 值添加到
products
表中。
这是尝试过的代码,但它不起作用:
Delimiter //
CREATE PROCEDURE `wew`(pid int,pname varchar(50),pdesc varchar(50),psupp varchar(50),pdate date,pquant int)
begin
declare lloyd char default null;
select productname from products where productname=pname LIMIT 1 into lloyd for update;
if(lloyd) then
update products set quantityleft=quantityleft+pquant where productname=pname;
else
insert into products (productid,productname,proddescription,supplier,lastpurchasedate,quantityleft) values(pid,pname,pdesc,psupp,pdate,pquant);
end if;
end;
//
你能帮忙解决这个问题吗?真的对此感到困惑。
产品描述:
SQL result
Host: localhost
Database: prodpurchase
Generation Time: Mar 24, 2013 at 03:52 PM
Generated by: phpMyAdmin 3.2.4 / MySQL 5.1.41
SQL query: Desc Products;
Rows: 7
Field Type Null Key Default Extra
ProdID int(5) NO PRI NULL auto_increment
ProdName varchar(50) NO UNI NULL
ProdSupplier varchar(250) NO UNI NULL
ProdDescription varchar(250) NO NULL
ProdDate date NO NULL
ProdPrice double NO 0
ProdQuantity int(50) NO NULL