gpt4 book ai didi

mysql - 迁移 MySQL 服务器会破坏程序

转载 作者:行者123 更新时间:2023-11-29 14:17:59 25 4
gpt4 key购买 nike

我正在从使用 mysql 5.5 的本地客户端转移到 Web 服务器,Web 服务器具有 mySQL 5.0.91,并且我在移动在本地主机上运行良好的存储过程时遇到问题。

例如。

CREATE PROCEDURE `add_student`(IN section_id VARCHAR(20), IN student_id  VARCHAR(20))
BEGIN

DECLARE EXIT HANDLER FOR 1062
INSERT INTO error_log(status_id,Student_ID, Section_ID, status_message,time_now)
VALUES('1062',student_id, section_id,' You are already enrolled for this Course, buddy! ', NOW());

DECLARE EXIT HANDLER FOR 1364
INSERT INTO error_log(status_id,Student_ID, Section_ID, status_message,time_now)
VALUES('1364',student_id, section_id,' ???? ', NOW());

SET @section_id=section_id;
SET @student_id=student_id;

PREPARE STMT FROM
"INSERT INTO course(SECTION_ID,STUDENT_ID ) VALUES(?,?)";

PREPARE STMT2 FROM
"INSERT INTO transcript(SECTION_ID,STUDENT_ID) VALUES(?,?)";




EXECUTE STMT USING @section_id,@student_id;
EXECUTE STMT2 USING @section_id,@student_id;

END

在 mysql 5.5 中工作正常,但现在它给我以下错误:#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 6 行“”附近使用的正确语法。是否有解决此问题的方法,或者我是否需要寻找使用与我的本地主机相同的 MYSQL 版本的主机?

最佳答案

您如何尝试加载此程序?如果您在 .sql 文件中有这个确切的文本并且正在执行类似 mysql < procedure.sql 的操作它肯定会返回这样的错误。

你需要更改语句分隔符,这样 mysql 就不会感到困惑——现在我打赌它认为第一个 ;声明结束。

在该过程之前执行以下操作: DELIMITER \\

最后一行应该是:

END\\

关于mysql - 迁移 MySQL 服务器会破坏程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12255857/

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