Foxtable(狐表)用户栏目专家坐堂 → select * 与count(*)为什么执行结果不一样


  共有1898人关注过本帖树形打印复制链接

主题:select * 与count(*)为什么执行结果不一样

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1925 积分:17344 威望:0 精华:0 注册:2014/7/29 19:09:00
select * 与count(*)为什么执行结果不一样  发帖心情 Post By:2018/6/15 17:08:00 [只看该作者]

IF NOT EXISTS (SE LECT count(*) FROM 编号记录 WHERE 表名 = '采购入库单' )
INSERT INTO 编号记录 (表名,编号字段,编号结构, 顺序号,已用标识VALUES('采购入库单', '入库单号', 'cr1806-000', 2, 1);

IF NOT EXISTS (SE LECT * FROM 编号记录 WHERE 表名 = '采购入库单' )
INSERT INTO 编号记录 (表名,编号字段,编号结构, 顺序号,已用标识VALUES('采购入库单', '入库单号', 'cr1806-000', 2, 1);

当表中没有记录时就插入一条记录,但是上面用count(*)的那条insert 语句就不会执行,
而下面这条就可以插入数据 ,这种情况下两者到底有什么不一样?

谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/15 17:16:00 [只看该作者]

回复楼上,那个是固定语法,没有为什么。

 

如果你要先得到count再比较,需要直接执行sql语句得到count值,再判断是否大于0


 回到顶部