Mysql

查找列與 n 個字元串之一匹配的行

  • January 25, 2018

我正在嘗試尋找最好的方法來查看我的數據庫中是否已經存在多個電子郵件地址。我有一張包含成員 ID、電子郵件和其他資訊的表格,我需要導入成員,但要檢查成員是否已經存在。我將導入的成員數量會有所不同,因為它將是來自使用者的 CSV 文件。

我不想寫很長的“電子郵件喜歡或”……等等。

我正在考慮製作一個臨時表,然後將該表合併到我的成員表,但擔心性能。還有其他想法嗎?

附加資訊:

我讀入了很多姓名和電子郵件地址,我需要檢查這些電子郵件地址是否已經在數據庫中。但是,與其對數據庫進行多次呼叫,或者使用類似於“WHERE email LIKE ’’ OR email LIKE ’’ OR …”的非常長的 where 子句,我想找到一種更好的方法或獲取已經存在的電子郵件數據庫。

最後,我為 where 子句做了這樣的事情:

"email IN ('" . implode( "','", $inviteEmails ) . "')"

$inviteEmails我將作為網站使用者插入的電子郵件數組在哪裡。

你可以使用IN

SELECT *
FROM t
WHERE email IN ('foo', 'bar', 'baz');

引用自:https://dba.stackexchange.com/questions/196155