gpt4 book ai didi

mysql - 使用 mysql 在产品存在时插入或更新

转载 作者:行者123 更新时间:2023-11-29 03:41:31 24 4
gpt4 key购买 nike

主要产品表

productid outward shopid
333 2 44//present
343 4 44//present
353 5 44//present
363 1 44//present
373 2 44//not present

min_product 表

productid outward shopid

333 1 44
343 1 44
353 1 44
363 1 44

SELECT DISTINCT (A.productid),A.outward, B.productid,B.outward
FROM main_product A
INNER JOIN min_product B on B.productid=A.product_id
where A.shopid='44' and B.shopid='44'

我的问题是如何通过检查它是否存在来使用 mysql 在一个查询中INSERT OR UPDATE 如果存在则更新否则插入

是这样的吗?

INSERT
INTO mytable (key, value)
VALUES ($newkey, $newvalue)
ON DUPLICATE KEY UPDATE
SET value = $newvalue

最佳答案

您可以在此处创建一个过程,它首先会插入错误处理程序 block ,如下所示,如果发现行存在错误,在 MySQL 中为 1062,则更新会为你工作。

已编辑

 DELIMITER $$

DROP PROCEDURE IF EXISTS `NAME_SP` $$
CREATE PROCEDURE `NAME_SP`(IN bpin_d int(11))
READS SQL DATA
begin


DECLARE out_status text;

DECLARE CONTINUE HANDLER FOR 1062
SET out_status= 'RIN';
INSERT INTO CANDIDATE_POOL(BPIN) VALUES (bpin_d);
IF(out_status <> '') THEN
UPDATE CANDIDATE_POOL u SET u.BPIN = bpin_d;
SET out_status = '';
END IF;


END $$

DELIMITER ;

关于mysql - 使用 mysql 在产品存在时插入或更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13320866/

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