gpt4 book ai didi

在存储过程中使用 IF 条件更新的 MySQL 语法?

转载 作者:可可西里 更新时间:2023-11-01 07:44:27 26 4
gpt4 key购买 nike

我正在尝试运行一个存储过程,但由于 IF 条件而失败。我尝试了不同的方法仍然没有成功。谁能告诉我如何在存储过程中使用 IF 条件。

DELIMITER $$

USE `testdb`$$

DROP PROCEDURE IF EXISTS `change_parent`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `change_parent`(
IN new_parent BIGINT(20),
IN folder__id BIGINT(20)
)
BEGIN
SELECT
directory_path,nav_depth,id
INTO
@dirpath,@depth,@parent
FROM folders
WHERE id = new_parent;
UPDATE folders


IF (folder__id != @parent) THEN
SET directory_path = CONCAT(@dirpath,'/',title),
nav_depth = @depth+1,
parent__id = @parent
END IF;
WHERE id = folder__id;

END$$

DELIMITER ;

这是错误信息

Error Code: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near: 'IF folder__id != @parent THEN SET directory_path = CONCAT(@dirpath,'/',title' at line 13

最佳答案

IF (folder__id != @parent) THEN
UPDATE folders
SET ...
WHERE id = folder__id;
END IF;

关于在存储过程中使用 IF 条件更新的 MySQL 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30003685/

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