请高手给写个存储过程,急用! 有一张表temp(id,num)已经存在,现在想添加信息 insert into temp values(1,1); 要求: 如果已经存在要插入的id号,则更新此条信息. . 问题在于,如何根据插入语句判断是否成功,然后再选择更新语句. mysql_query(),mysql_affected_rows()这2个函数是怎么用的,请写清楚点. 最好用事务封装一下.谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 temp表的id 列如果是主键列 判断主键的错误~ 如果先要进行判断的话这样没一条插入或是更新都要执行2条语句,即先select 再进行要的操作,这样效率会降低一倍.我想直接进行操作,通过那2个函数判断所得的结果值,如果没有执行再执行别的操作,可不知道怎么使用这2个函数.sql server中有个全局变量,可mysql中我不知道怎么来使用,请给个例子. 你这种应用逻辑不太好,应该先按照PK值进行判断,是否存在 此记录,如果存在,则update否则,insert这样做更加通用一些。至于affected_rows()如果插入失败,返回0插入成功,返回1更新成功,返回的是实际上更新的行数(不一定只影响一行,要看你是否带PK值来update) 用 replace into 不行吗? select count(*) from ... into @cnt;if @cnt > 0 then update ...else insert ...end if; 请教高手SQL递归问题 C语言 操作MySQL UPDATE有问题,请教。 phpMyAdmin安装无法打开登陆界面,求解(附操作过程) Sending data is not Sending data MySQL int类型的字段怎么限制范围(年龄限制在0--120之间) mysql 分组统计 语句 MySQL用C语言不能insert中文,请教该怎么解决?在线等,谢谢!谢谢! 怎么将数据库上传啊?~ Mysql语法求助,是什么原因呢,求大神帮忙 mysql启动不了服务,急是我了, 大家帮我看看这条Update语句的错误在哪里??? 一个SQL错误,请大家帮我看看,谢谢大家
我想直接进行操作,通过那2个函数判断所得的结果值,如果没有执行再执行别的操作,可不知道怎么使用这2个函数.
sql server中有个全局变量,可mysql中我不知道怎么来使用,请给个例子.
应该先按照PK值进行判断,是否存在 此记录,如果存在,则update
否则,insert
这样做更加通用一些。
至于affected_rows()
如果插入失败,返回0
插入成功,返回1
更新成功,返回的是实际上更新的行数(不一定只影响一行,要看你是否带PK值来update)
if @cnt > 0 then
update ...
else
insert ...
end if;