MYSQL插入数据时防止重复命令代码
insert into songinfo(songname,songtime,songpath) select 'aaa','bb' ,'cc' from dual where not exists(select * from songinfo where songname='123')
//上述命令在MYSQL3.x版本上不能执行,5.0.24的可以
比如我的Mysql当中某database存在url这张表,现在要有C API 将url,url_hash,domain这三个变量的值插入到数据库中,url_hash是主键,本来为了不至插入重复项,应该判断一下的,现在只要这一条SQL语句就行了,什么都不要管,减少了大量的查询和判断工作,我只能说一句:太爽了。如下:
SQL语句:
insert into TABLE(FIELD0,FIELD1...) select VALUE0,VALUE1 ,... from dual where not exists(select * from TABLE where FIELDN=VALUEN)
代码:
int store_url(char *url)
{
char *key, url_hash[HASHLEN], domain[DOMAINLEN], sqlstr[SQLSTRLEN];
......
sprintf (sqlstr, "insert into url(url,url_hash,domain) select '%s','%s','%s' from dual where not exists(select * from url where url_hash='%s') ", url, url_hash, domain, url_hash);
if (mysql_query (conn, sqlstr)) //大部分情况下失败是由于数据库关闭,所以可以在以下添加上再连接MySQL的代码,不赘写!
{
printf ("Error:%s\n", mysql_error (conn));
return;
}
}
清空表,在SQL和ACCESS中一般是delete * from tablename
而在MySQL中上述命令是不受支持的,
如下:
1,TRUNCATE TABLE TABLENAME
2,DELETE FROM TABLENAME
相关阅读
- 百度贴吧可达鸭代码是什么 贴吧怎么打可达鸭表情
- 微信崩溃不用卸载怎么回事 微信崩溃只需一个代码复活介绍
- 微信崩溃怎么办 解决微信崩溃代码
- 百度贴吧皮皮虾表情怎么发 皮皮虾表情代码
- 微信弹窗游戏怎么玩 弹窗游戏代码分享
- 如何快速获得秒拍视频的embed代码
- ilu ohhhh什么意思 类似ohh微信表白代码介绍
- 微信表白代码有哪些 微信表白代码大全汇总
- 微信翻译代码有哪些 2018微信翻译代码大全
- 微信整人代码有哪些 微信卡死的代码是什么
《MYSQL插入数据时防止重复命令代码》由网友“如也”推荐。
转载请注明:http://www.modouwifi.com/jiaocheng/052010SM2021.html