首頁 >資料庫 >mysql教程 >如何將 MySQL 的「NOT IN」子句與值清單一起使用?

如何將 MySQL 的「NOT IN」子句與值清單一起使用?

DDD
DDD原創
2025-01-01 13:56:11183瀏覽

How to Use MySQL's

“NOT IN”值列表的MySQL 語法

問題:

如何定義MyTSQL 變數在“NO🎜>

答案:

使用值清單建構「NOT IN」子句時,必須避免將整個清單用作單一字串條款。 MySQL 將其編譯為統一字串,而「NOT IN」子句則需要單獨的值。考慮以下範例:
WHERE id_campo NOT IN (@idcamposexcluidos)

編譯為:
WHERE id_campo NOT IN ('817,803,495')

但是,正確的語法是:
WHERE id_campo NOT IN ('817', '803', '495')

要克服這個問題,有兩種常見的方法:
  • 動態SQL:
  • 使用正確的語法建構查詢字串,確保在「NOT IN」子句中指定各個值。
  • FIND_IN_SET:
  • MySQL 提供了FIND_IN_SET() 函數,可以用作如下:
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0

需要注意的是,使用FIND_IN_SET()在“id_campo”列上使用索引,可能會影響效能。

以上是如何將 MySQL 的「NOT IN」子句與值清單一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn