SQL insert 带where 条件的插入语句的问题
INSERTINTOtable1(mid,name,msg)VALUES('aa','bb','cc')where(selectcount(*)fromtable1whe...
INSERT INTO table1(mid,name,msg) VALUES('aa','bb','cc')
where (select count(*) from table1 where mid='aa') <= 0
这语句有没有问题,
我想在插入的同时进行重复记录检测(mid字段),如果重复就不插入。
怎么老提示错误“在关键字 'where' 附近有语法错误。”,“'=' 附近有语法错误。”
应该怎么写(我不想先检测,在插入)?可以合成这样的一条语句么? 展开
where (select count(*) from table1 where mid='aa') <= 0
这语句有没有问题,
我想在插入的同时进行重复记录检测(mid字段),如果重复就不插入。
怎么老提示错误“在关键字 'where' 附近有语法错误。”,“'=' 附近有语法错误。”
应该怎么写(我不想先检测,在插入)?可以合成这样的一条语句么? 展开
5个回答
展开全部
你的SQL语句是错误的.
你是想如果mid字段不是aa的话,就插入一条mid=aa的记录.
那么,你可以用内联处理这个问题.
试试这样写:
if noexists (select * from table1 where mid='aa')
INSERT INTO table1(mid,name,msg) VALUES('aa','bb','cc')
你是想如果mid字段不是aa的话,就插入一条mid=aa的记录.
那么,你可以用内联处理这个问题.
试试这样写:
if noexists (select * from table1 where mid='aa')
INSERT INTO table1(mid,name,msg) VALUES('aa','bb','cc')
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if exists (select * from table1 where mid='aa')
INSERT INTO table1(mid,name,msg) VALUES('aa','bb','cc')
即可
你说的那个好象不行
INSERT INTO table1(mid,name,msg) VALUES('aa','bb','cc')
即可
你说的那个好象不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你那个不行,应该这样
if (select count(*) from table1 where mid = 'aa') = 0)
INSERT INTO table1(mid,name,msg) VALUES('aa','bb','cc')
if (select count(*) from table1 where mid = 'aa') = 0)
INSERT INTO table1(mid,name,msg) VALUES('aa','bb','cc')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的sql语句当然错了!
如果是插入一个东西,那这个东西还不存在,那怎么可能有where条件呢,真搞笑
一般不是这样做的,是先去查找mid,如果返回0,那再插入
如果是插入一个东西,那这个东西还不存在,那怎么可能有where条件呢,真搞笑
一般不是这样做的,是先去查找mid,如果返回0,那再插入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要那么麻烦干嘛,直接在mid列上加唯一索引不就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询