gpt4 book ai didi

mysql - MySQL插入时出现语法错误

转载 作者:行者123 更新时间:2023-11-30 00:33:42 25 4
gpt4 key购买 nike

我试图熟悉 MySQL,但感到很沮丧。

我正在尝试创建一个函数...

use mystuff;
DELIMITER $$
create PROCEDURE spUpdateCodeTable(
IN mcodeID INT,
IN mtableCode CHAR(5),
IN mDescription VARCHAR(100),
IN mCode CHAR(5),
IN mgroupCode CHAR(5),
IN mt1 VARCHAR(100),
IN mt2 VARCHAR(100),
IN mt3 VARCHAR(100))
BEGIN
UPDATE codeTable SET
tableCode =mtableCode,
Description=mDescription,
Code=mCode,
groupCode=mgroupCode,
t1=mt1,
t2=mt2,
t3=mt3,
chaDate=NOW()
WHERE codeID = mcodeID;

IF (ROW_COUNT() < 1)
BEGIN
INSERT INTO codeTable (tableCode,Description,Code,groupCode,t1,t2,t3,createDate)
VALUES (mtableCode,mDescription,mCode,mgroupCode,mt1,mt2,mt3,NOW());
END;
END$$
DELIMITER ;

当我只有 UPDATE 部分时,该过程编译得很好,但是当我添加插入四行(从 IF (ROW_COUNT().... 开始)时,我开始得到......

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在附近使用的正确语法
'开始
INSERT INTO codeTable (tableCode, Description, Code, groupCode,t1,t2,t' at line 23'

最佳答案

就像@Phil 所说,你会想要...

IF (ROW_COUNT() < 1) THEN
INSERT INTO codeTable (tableCode,Description,CODE,groupCode,t1,t2,t3,createDate)
VALUES (mtableCode,mDescription,mCode,mgroupCode,mt1,mt2,mt3,NOW());
END IF;

而不是你拥有的。

存储过程的 MySQL 错误消息不是很棒吗?

关于mysql - MySQL插入时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22339598/

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