代码之家  ›  专栏  ›  技术社区  ›  Oliver Jane

使用IF语句时出现语法错误

  •  0
  • Oliver Jane  · 技术社区  · 2 年前

    我正试图使用下面的代码在MariaDB中创建一个存储过程。

    DELIMITER //
    CREATE PROCEDURE P5();
    BEGIN
    IF 1=1 THEN
        SELECT 1;
    END IF;
    END//
    

    当我运行代码时,我收到一个语法错误

    #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 ';
    
    BEGIN
    IF 1=1 THEN
        SELECT 1;
    END IF;
    END' at line 1
    

    我意识到我需要一个 IF () 函数,但我需要能够使用 IF 声明。

    1 回复  |  直到 2 年前
        1
  •  2
  •   pcsutar    2 年前

    无需在过程名称后添加分号。

    DELIMITER //
    CREATE PROCEDURE P5()
    BEGIN
    IF 1=1 THEN
        SELECT 1;
    END IF;
    END//
    

    检查 db fiddle

    参考: MySQL Docs