我這裡總結了判斷記錄是否存在的常用方法:
sql語句:select count(*) from tablename;
然後讀取count(*)的值判斷記錄是否存在。對於這種方法性能上有些浪費,我們只是想判斷記錄記錄是否存在,沒有必要全部都查出來。
以下這個方法是我推薦的。
sql語句:select 1 from tablename where col = col limit 1;
然後讀取語句執行所影響的行數。
當然這裡limit 1很重要。這要mysql找到一條記錄後就不會在往下找了。這裡執行所影響的行數不是0就是1,性能提高了不少。
如果你用的是PDO,可以用rowCount(),很容易就都到執行所影響的行數。
這裡還有人可能會去讀取sql語句查詢到的記錄,然後判斷記錄是否存在,從而判斷記錄是否存在。這個方法雖然可行,但對於我們的要求來說,還是有些浪費,我們不需要查詢到的記錄,所有性能上會有損失。這裡不推薦。