我可以在 SELECT 中定義變數並在同一語句中使用它嗎?
在 SELECT 中定義和使用變數的可能性相同的 SELECT 語句經常受到質疑。考慮以下範例:
在這種情況下,第二列總是會傳回 NULL。這是很奇怪的,因為使用預存程序的類似操作如預期運作:
解釋
MySQL 文件明確指出為使用者變數賦值在同一個聲明中閱讀它是不可靠的。使用者變數的計算順序是未定義的,並且可能會根據語句元素和 MySQL 伺服器版本而有所不同。因此,無法保證預期的結果。
解
要達到預期的結果,可以使用子查詢:
以上是我可以在單一 MySQL SELECT 語句中使用使用者定義的變數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!