如何用SQL语句判断表内字段

carkiller 2009-07-01 05:48:55
是否可以用sql语句来判断表里面的字段是否有存在数据呢?
比如
表A
id name cnt
1 admin 4
2 AG 5
我现在想插一个数据进去
写SQL的时候是否可以先判断name字段里是否有admin,如果有就update数据,如果没有就insert 一条admin进去。
请问SQL可以这样实现吗?
...全文
107 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
张家可 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liangck 的回复:]
SQL codeIFEXISTS(SELECT*FROM tbWHERE name='admin')--存在UPDATE tbSET cnt= xxWHERE name='admin'ELSE--不存在INSERT tbVALUES(xx,xx,xx);--------------------------------------------UPDATE tbSET cnt= xxWHERE nam¡­
[/Quote]

一楼的两种写法都不错。。。


如果ID是自增的就如下写:


IF EXISTS(SELECT * FROM tb WHERE name='admin')
--存在
UPDATE tb SET cnt = xx WHERE name = 'admin'
ELSE
--不存在
INSERT tb VALUES(xx,xx);
-------------------------------------
UPDATE tb SET cnt = xx WHERE name = 'admin'

IF @@ROWCOUNT = 0
INSERT tb VALUES(xx,xx);
bhd1896 2009-07-01
  • 打赏
  • 举报
回复

IF EXISTS (select f_name from userFile where f_name ='admin')
update userFile set f_phone='2222' where f_name ='admin'

else
insert into .....
liangCK 2009-07-01
  • 打赏
  • 举报
回复
IF EXISTS(SELECT * FROM tb WHERE name='admin')
--存在
UPDATE tb SET cnt = xx WHERE name = 'admin'
ELSE
--不存在
INSERT tb VALUES(xx,xx,xx);

--------------------------------------------

UPDATE tb SET cnt = xx WHERE name = 'admin'

IF @@ROWCOUNT = 0
INSERT tb VALUES(xx,xx,xx);

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧