MYSQL 求一个SQL语句,存在则插入,不存在不处理

tableabc(id,user,pass)功能:查询表abc,如果存在id为123的数据则插入,否则不处理要求:1,必须适用于MYSQL52,不要这种ONDUPLICA... table abc(id ,user,pass)
功能:查询表abc,如果存在id为123的数据则插入,否则不处理

要求:
1,必须适用于MYSQL5
2,不要这种 ON DUPLICATE KEY UPDATE 在多个索引下会漏掉数据,比如表里还多有个唯一索引是user,如果存在一条数据是 userabc123,那么我在插入数据其中use值是userabc的时候,这个数据不会被插入,如果有解决办法请给出正确写法
3,不要这种 REPLACE INTO 这种是存在则替换,我要的是存在不处理
4,不要这种 INSERT INTO abc(id, name, pass) SELECT ...FROM table WHERE not exists (.....); 这种是查询一个表插入另一个表, 我要做的程序需要适用两个不同的数据库,无法这么用,如果这个形式的语句可以直接插值,比如 INSERT INTO abc(name, pass) values('sdfs','gdfgsd')SELECT ...FROM table WHERE not exists (.....);的话请教正确的写法。
更正一下,应该是
如果不存在id为123的数据则插入,否则不处理
展开
 我来答
老马在职场
2011-05-11 · TA获得超过252个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:141万
展开全部
3.unique唯一性
---可以定义表里数据的唯一性,即不可有重复的值
例:
create table abc(
id varchar(30)unique,
user varchar(30,
pass varchar(30)

在id char(20)后面写上primary key就把id声明为了一个主键,这样如果你
---再插入相同的数据时就会出现错误,因为id是主键,主键具有唯一性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
likely_01
2011-05-11 · TA获得超过148个赞
知道小有建树答主
回答量:179
采纳率:100%
帮助的人:98.7万
展开全部
不知道这样可不可以 新手 不对务喷
$res=mysql_query("select * from abc where id='123'");
$row=mysql_fetch_array($res);
if($row['id']){ //如果存在id=123
echo "this error";
}
else{
mysql_query("insert into user(........) values(........)");
}
追问
你这是两句SQL,我要一句的

参考资料: l

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjycaibird
2011-05-11 · TA获得超过1374个赞
知道小有建树答主
回答量:906
采纳率:0%
帮助的人:661万
展开全部
用存储过程
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式