2015-12-10 42 views
0

我試圖執行下面的查詢,但MySQL的說:Syntax error: unexpected '@my_var' (at text suffix)在選擇使用statment聲明的變量的

SET @my_var = 1; 
INSERT INTO table1(id, myvar) 
SELECT * FROM (LAST_INSERT_ID(), @my_var) AS tmp 

如何使用宣佈上述查詢變量?

+0

您的'SELECT'語句的語法似乎關閉。 「FROM」關鍵字後面沒有表名。 –

+0

@TimBiegeleisen它是有效的。如果我提供靜態值而不是'@ my_var',它可以工作。例如'SELECT * FROM(LAST_INSERT_ID(),1)AS tmp''但我需要使用變量提供動態值。 –

回答

1

你想要選擇什麼,你已經放在FROM中。

在FROM中,必須有一個table_name而不是column_name或函數調用。

+0

我只是忘了把'SELECT',所以正確的方式是這樣的'SELECT * FROM(SELECT LAST_INSERT_ID(),@my_var)AS tmp'傻我! –