如果已存在具有相同值的另一个行字段,则增加数据值

时间:2017-06-15 07:14:57

标签: mysql

考虑我有3列产品名称,产品ID和库存ID。当我按产品名称插入新产品时,如果它不存在,则应将库存ID显示为product001。但是,如果产品已存在,则应将现有库存ID的值增加1(product002)。我该如何为此编写SQL查询? 这就是我到目前为止所做的。

INSERT
INTO    product (productname, productID, inventoryID)
VALUES  ("Book", 3, (CONCAT(MID(productname,1,2),'-',1)))
ON DUPLICATE KEY
UPDATE  inventoryID = CONCAT(MID(productname,1,2),'-',((SELECT 
SUBSTRING(inventoryID, PATINDEX('%[0-9]%', inventoryID), 
LEN(inventoryID)) + 1)));

0 个答案:

没有答案