我是MQSQL的新手,我一直在使用MSSQL,因此对我来说语法具有挑战性。我收到这个错误


  #1064-您的SQL语法有误; ...在'declare @side LONGTEXT附近使用正确的语法;
   声明@post BIGINT(20)默认0;
   @side ='7082';
   在第3行**


但是该窗口在select语句旁边还有一个红色的大X。
我已经仔细检查了变量Meta_Value的数据类型是LONGTEXT,而post_id是BIGINT(20)

DROP PROCEDURE IF EXISTS DailyDishData()

DELIMITER //

CREATE PROCEDURE DailyDishData()

declare @side LONGTEXT;
declare @post BIGINT(20) DEFAULT 0;

@side = '7082';

BEGIN
select @post = post_id from `wp_dfh0payzs9_postmeta` where meta_key = 'ftrecipe_id' and meta_value = @side;
END

DELIMITER ;

最佳答案

您忘记/放错了过程中的BEGINEND关键字

DELIMITER //
DROP PROCEDURE IF EXISTS DailyDishData //

CREATE PROCEDURE DailyDishData()
BEGIN
    declare @side LONGTEXT;
    declare @post BIGINT(20) DEFAULT 0;

    set @side = '7082';

    select @post = post_id
    from `wp_dfh0payzs9_postmeta`
    where meta_key = 'ftrecipe_id' and meta_value = @side;
END
//

DELIMITER ;


忽略以下事实:在程序中,硬编码数字没有多大意义,并且您似乎没有使用@post变量

关于mysql - 使用MYSQL创建存储过程时遇到问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44854012/

10-12 03:48