.sql 数据库导入不工作。 (存储过程错误)
.sql database import not working. (stored procedure error)
我是 MySQL 的新手。
我想从 .sql 文件导入数据库。
表格导入成功。
但它给出了以下有关程序的错误:
CREATE DEFINER=`dev`@`%` PROCEDURE `sp_PlaceBet`(
IN `pLogInId` INT,
IN `pUserId` INT,
IN `pParantId` INT,
IN `pMatchId` INT,
IN `pSelectionId` INT,
IN `pStack` INT,
IN `pMarketId` VARCHAR(100),
IN `pselectionName` VARCHAR(100),
IN `pMstDate` DATETIME,
IN `pOdds` DECIMAL(10, 2),
IN `pP_L` DECIMAL(10, 2),
IN `pisBack` INT,
IN `pIsMatched` INT,
IN `pNarration` VARCHAR(200),
IN `pdeviceInfo` VARCHAR(100),
IN `pIP_ADDESSS` VARCHAR(100),
IN `pInPlayStack` INT,
IN `pIsApp` INT,
IN `pType` VARCHAR(100)
)
BEGIN
DECLARE LID INTEGER;
DECLARE lCtr integer;
DECLARE resultV INT;
DECLARE retMess VARCHAR(500);
DECLARE checkBal decimal(50, 2);
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
set resultV = -1;
GET STACKED DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT;
SET retMess = CONCAT("ERROR ", @errno, " (", @sqlstate, "): ", @text);
ROLLBACK;
[...]
MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'STACKED DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL...' at line 31
请帮我解决这个错误。
谢谢!
问题是您使用的是 mariadb,而不是 mysql。如果您查看错误消息,它会告诉您参考 mariadb 手册。
Mariadb的get diagnostics语句没有stacked
选项,所以如果你想在mariadb环境中使用代码或者需要迁移到合适的mysql,你必须删除它] 服务器.
我是 MySQL 的新手。 我想从 .sql 文件导入数据库。 表格导入成功。
但它给出了以下有关程序的错误:
CREATE DEFINER=`dev`@`%` PROCEDURE `sp_PlaceBet`(
IN `pLogInId` INT,
IN `pUserId` INT,
IN `pParantId` INT,
IN `pMatchId` INT,
IN `pSelectionId` INT,
IN `pStack` INT,
IN `pMarketId` VARCHAR(100),
IN `pselectionName` VARCHAR(100),
IN `pMstDate` DATETIME,
IN `pOdds` DECIMAL(10, 2),
IN `pP_L` DECIMAL(10, 2),
IN `pisBack` INT,
IN `pIsMatched` INT,
IN `pNarration` VARCHAR(200),
IN `pdeviceInfo` VARCHAR(100),
IN `pIP_ADDESSS` VARCHAR(100),
IN `pInPlayStack` INT,
IN `pIsApp` INT,
IN `pType` VARCHAR(100)
)
BEGIN
DECLARE LID INTEGER;
DECLARE lCtr integer;
DECLARE resultV INT;
DECLARE retMess VARCHAR(500);
DECLARE checkBal decimal(50, 2);
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
set resultV = -1;
GET STACKED DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT;
SET retMess = CONCAT("ERROR ", @errno, " (", @sqlstate, "): ", @text);
ROLLBACK;
[...]
MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'STACKED DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL...' at line 31
请帮我解决这个错误。
谢谢!
问题是您使用的是 mariadb,而不是 mysql。如果您查看错误消息,它会告诉您参考 mariadb 手册。
Mariadb的get diagnostics语句没有stacked
选项,所以如果你想在mariadb环境中使用代码或者需要迁移到合适的mysql,你必须删除它] 服务器.