MySQL:排除CONCAT 條件中的「未知列」錯誤
在MySQL 中,CONCAT 函數可讓您將多個值連接成一個值單一表達。但是,使用者在嘗試使用該函數作為 WHERE 子句中的條件時,可能會遇到「未知列」錯誤。
理解問題
發生該錯誤的原因分配給串聯值的別名(例如,firstlast)未被識別為查詢中的有效列。這是因為別名僅應用於查詢的輸出,並且在查詢本身中不可用。
解
要解決這個問題,有兩種可能的方法:
1。重複表達式:
避免錯誤的一種方法是在WHERE 子句中重複CONCAT 表達式:
此方法可確保連接值與所需的輸入。
2.包裝查詢:
或者,您可以將原始查詢包裝在子查詢中,並為內部查詢中的串聯值建立別名:
在這種情況下,別名firstlast被指派給子查詢中的串聯值,允許它用作外部查詢中的條件。
以上是為什麼在 WHERE 子句中使用 CONCAT 時 MySQL 會拋出「未知列」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!