gpt4 book ai didi

mysql - 使用存储过程插入和更新

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

我的存储过程(在 MySQL 上)有问题。如果记录存在,我需要表的数据更新过程,否则插入记录。我有:

DELIMITER //

CREATE PROCEDURE saveorUpdate(in product varchar(30), price int, stock int, active varchar(5))

BEGIN

DECLARE id int;

SELECT id_pro FROM products WHERE product=product into id;

IF(id_pro=id)THEN

UPDATE products SET product=product, price=price, stock=stock, active=active
WHERE id_pro=id;

ELSE

INSERT INTO products (product, price, stock, active) VALUES
(product, price, stock, active);

END IF;
END

有什么想法吗?

最佳答案

由于您的数据库是 MySQL,您可以只使用 INSERT INTO ... ON DUPLICATE KEY 语法并废弃存储过程。

INSERT INTO products (
product, price, stock, active
) VALUES (
$product, $price, $stock, $active
) ON DUPLICATE KEY UPDATE
product=VALUES(product)
, price=VALUES(price)
, stock=VALUES(stock)
, active=VALUES(active)

只是一个想法。可能是一种更干净、更快速的替代方案。

希望对你有帮助

关于mysql - 使用存储过程插入和更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14957788/

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