.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,你必须删除它] 服务器.