gpt4 book ai didi

Mysql恢复数据库过程中语法错误

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

情况如下:我将数据库结构转储到一台机器上,并尝试在第二台机器上恢复它。但是在恢复数据库的过程中发生了错误,我不知道那部分sql代码有什么问题。

这是 mysql 错误:

ERROR 1064 (42000) at line 5846: 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 'TYPE=HEAP;
WHILE TRUE DO
SET _paramList = TRIM(_paramList);
' at line 13

需要添加,我在 mysql 5.1.59 上转储了数据库结构并尝试在 5.5.30 上恢复。

我已经尝试过mysql转储和恢复中的兼容选项,在互联网上搜索没有成功。

编辑:

这是整个过程:

DELIMITER ;;
/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `ws_core_parameters`(IN is_proc_name CHAR(64), IN is_db_name CHAR(64))
BEGIN
DECLARE _paramList VARCHAR(800);
DECLARE _parameter VARCHAR(100);
SELECT
CAST(a.param_list AS CHAR(800))
INTO
_paramList
FROM mysql.proc a
WHERE a.name = is_proc_name
AND a.db = is_db_name
LIMIT 1;
CREATE TEMPORARY TABLE system_proc.__parameters ( s_parameter VARCHAR(20) ) TYPE=HEAP;
label: WHILE TRUE DO
SET _paramList = TRIM(_paramList);
IF(COALESCE(_paramList, '') = '') THEN
LEAVE label;
END IF;
SET _parameter = SUBSTRING_INDEX(_paramList, ',', 1);
SET _paramList = SUBSTR(_paramList, LENGTH(_parameter)+2);
INSERT INTO system_proc.__parameters (s_parameter)
VALUES (
TRIM(
SUBSTRING_INDEX(
SUBSTR(_parameter,
LENGTH(
SUBSTRING_INDEX(_parameter, ' ', 1))+2), ' ', 1)));
END WHILE label;
SELECT
SUBSTR(s_parameter, 1-(
LENGTH(s_parameter))) AS s_parameter
FROM system_proc.__parameters WHERE s_parameter != '';
DROP TABLE system_proc.__parameters;
END */;;

最佳答案

将 TYPE=HEAP 更改为 ENGINE=HEAP 或 ENGINE=MEMORY

引用链接:

TYPE=HEAP not working

MYSQL documentation

关于Mysql恢复数据库过程中语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15358412/

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