2017-06-30 57 views
0

我是MQSQL的新手,我一直在使用MSSQL,因此我的语法很具挑战性。我得到这个错误在使用MYSQL创建存储过程时遇到困难

#1064 - 你的SQL语法错误; ...在'声明@side LONGTEXT'附近使用正确的语法; declare @post BIGINT(20)DEFAULT 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 ; 

回答

0

你忘了/放错地方的周围的过程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

+0

您能否解释问题所在以及您如何解决编辑它? – Barmar

相关问题