當嘗試使用「NOT IN」清單排除MySQL 查詢中的某些值時,指派一個將變數設定為排除值可能是一個方便的解決方案。但是,確保正確的變數格式至關重要。
如查詢中所述,您嘗試為變數「@idcamposexcluidos」分配不同的格式:
都無法按預期工作。原因是「IN」子句需要單獨的值,而不是單一字串。因此,查詢:
WHERE id_campo not in (@idcamposexcluidos)
實際上變成:
WHERE id_campo not in ('817,803,495')
,這是不正確的。這些值應作為單獨的字串文字提供:
WHERE id_campo not in ('817','803','495')
要解決此問題,有兩個選項:
SET @idcamposexcluidos='817,803,495'; ... WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
注意使用FIND_IN_SET()函數可能會影響索引的使用。
以上是如何正確格式化 MySQL 變數以便在「NOT IN」子句中使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!