mysql 数据库插入之前判断数据是不是存在
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 数据库插入之前判断数据是不是存在相关的知识,希望对你有一定的参考价值。
mysql 数据库插入之前判断数据是否存在
如图,如果存在阿飞则不能再插入了?
select count(1) from 表 where 分类名称=‘阿飞’
根据返回值判断还是根据什么判断,最好是那种带插入带判断的
这个是先查后插入的,有没有更好的带插入带判断的
$query=$db->query("select navname from sort where navname='$sort'");
if(mysql_num_rows($query))
echo "<script>";
echo "alert('有重复数据!');location.href='admin_sort.php'";
echo "</script>";
else
$db->query("insert ignore into sort(id,cid,navname,date) values('','','$sort',now())");
echo "<script>";
echo "alert('添加成功!');location.href='admin_sort.php'";
echo "</script>";
if(count>=1)//当count大于等于1,那么就说明已经存在阿飞了
//这里也就不用写啥代码了
else
insert into 表(name) values('阿飞');
参考技术A $sql = "INSERT INTO sort (id,cid,navname,date) SELECT '','','$sort',now() FROM sort WHERE NOT EXISTS(SELECT * FROM sort WHERE navname='$sort') LIMIT 1";
$num = mysql_affected_rows();
if($num ==0)
// 有重复数据
else
//插入成功
参看MySQL文档中insert-select语法。
参考资料:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#insert-select
本回答被提问者采纳 参考技术B 这个交给数据库处理就好了 用isexist 判断就好了如果你非要在Java里面判断的话就这样写吧:
try
//查询goods_select 的代码
//如果goods_select 不存在会抛出异常
catch(Excetion e)
//这里就写你想要执行的操作
参考技术C 验重操作的原理就是在插入数据之前,
先查询一遍数据库,是否有重复的记录,如果有,就显示不能插入,如果没有,就显示插入成功。
select count(1) from 表 where 分类名称=‘阿飞’
在页面的调用后台程序,可以通过ajax无刷新调用,也可以form提交调用。
mysql 刚建的表格提示不存在,是啥原因?
想向表格插入一条insert into students values(NULL, "王刚", "男", 20, "13811371377");提示table doesn't exist。
而且我想把表格student,students中的student删除,用drop student命令删不了,提示出错。
以上是关于mysql 数据库插入之前判断数据是不是存在的主要内容,如果未能解决你的问题,请参考以下文章
mysql插入数据时,判断是不是存在,存在则替代,不存在则直接插入,需要能够批量处理。