記錄是否存在在mysql中有無數的方法了,這里小編根據自己的經驗整理了4種來判斷數據是否存在的sql語句,希望對大家有幫助.
1.SELECT count( * ) FROM `feed` WHERE `uid` =1121293
可以返回符合條件記錄的總數,以下這個方法是我推薦的.
sql語句:select 1 from tablename where col = col limit 1;
然后讀取語句執行所影響的行數,當然這里limit 1很重要,這要mysql找到一條記錄后就不會在往下找了,這里執行所影響的行數不是0就是1,性能提高了不少.
如果你用的是PDO,可以用rowCount(),很容易就都到執行所影響的行數.
2.SELECT * FROM `feed` WHERE `uid` =1121293 limit 1
可以返回一條記錄的字段內容
3.SELECT EXISTS(SELECT * FROM `feed` WHERE `uid` =1121293)
只能判斷是否存在記錄,子查詢中的SELECT *在執行時會被忽略掉.
4.利用程序判斷
- <?php
- $sql="select * from checklist where game_id=$gid and task='$task' and status='$status'";
- $result=mysql_query($sql);
- $row = mysql_fetch_array($result, MYSQL_ASSOC);
- if (!mysql_num_rows($result))
- { //Vevb.com
- echo "record doesn't exist~~~~~!!!!!!";
- }
- else
- {
- // echo mysql_num_rows($result);
- echo $row['game_id'];
- echo $row['task'];
- }
- ?>
以上三種方法一般認為第三種是效率最高的.
新聞熱點
疑難解答