2017-06-30 4 views
0

Ich bin neu in MQSQL, ich habe mit MSSQL gearbeitet, so dass die Syntax für mich eine Herausforderung ist. Ich bekomme diesen FehlerProbleme beim Erstellen einer gespeicherten Prozedur mit MYSQL

# 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; ... richtige Syntax für die Verwendung in der Nähe von 'decide @side LONGTEXT; @post deklarieren BIGINT (20) DEFAULT 0; @side = '7082'; 'in Zeile 3 **

aber das Fenster hat auch ein großes rotes X neben dem select-Anweisung. Ich habe überprüft die doppelte Datentypen der Variablen ist 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 ; 

Antwort

0

Sie haben vergessen/Misplaced die BEGIN und END Schlüsselwörter um Ihr Verfahren

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 ; 

ignorieren die einen LONG und post_id meta_value ist Tatsache, dass eine hart codierte Zahl macht nicht viel Sinn in einem Verfahren, und dass Sie nicht die @post Variable

+0

verwenden möchten Könnten Sie erklären, was das Problem war und wie Sie beheben ed es? – Barmar

Verwandte Themen