记录是否存在在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*fromchecklistwheregame_id=$gidandtask='$task'andstatus='$status'";
- $result=mysql_query($sql);
- $row=mysql_fetch_array($result,MYSQL_ASSOC);
- if(!mysql_num_rows($result))
- {//phpfensi.com
- echo"recorddoesn'texist~~~~~!!!!!!";
- }
- else
- {
- //echomysql_num_rows($result);
- echo$row['game_id'];
- echo$row['task'];
- }
- ?>
以上三种方法一般认为第三种是效率最高的.