我是 MQSQL 新手,我一直在使用 MSSQL,所以语法对我来说是具有挑战性的。我收到此错误
#1064 - You have an error in your SQL syntax; ... right syntax to use near 'declare @side LONGTEXT; declare @post BIGINT(20) DEFAULT 0; @side = '7082'; ' at line 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 ;
最佳答案
您忘记/放错了过程中的 BEGIN
和 END
关键字
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/