2015-07-21 66 views
1

我一直在每個簡單的Mysql查詢中花費數小時(搜索和嘗試)。我試圖從一個select語句傳遞一個變量到下一個語句。但是我已經拋出了空行。在mysql中傳遞變量時出錯

SET @id :='SELECT MAX(sId) from surveys'; 
SELECT typeId as type from surveys WHERE [email protected]; 
PREPARE stmt from @id; 
execute stmt; 

我試着執行SELECT MAX(sId) from surveys,它給出了所需的結果。但似乎@id不接受這些值。有沒有任何錯誤或任何其他建議來解決這個問題?

回答

0

試試這個:

SET @s = 'SELECT typeId as type from surveys WHERE sId=?'; 
PREPARE stmt from @s; 
SET @id = (SELECT MAX(sId) from surveys); 
EXECUTE stmt USING @id; 

DEALLOCATE PREPARE stmt; 
+0

這仍然會導致空結果集。我直接在phymyadmin SQL字段中工作並使用分隔符; 。它與輸出有什麼不同? – user3303274