CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
(图)邪恶的韩国UMPC 使用 Java 编写数据库应用新规范
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  MySQL/Postgresql

关于Mysql查询插入

楼主njjxd(njjxd)2005-01-07 15:29:21 在 其他数据库开发 / MySQL/Postgresql 提问

我有1个表是member表,其中有部门(intDepartmentID),姓名(strName),id(自增长),年龄等几个字段。  
   
  比如我现在想插入一个记录到数据库中,要求是部门相同的情况下,姓名不允许相同;部门不同的时候,姓名可以相同。  
   
  example  
   部门是:开发部id是5  
   姓名是:张山  
   
  那我先 select   id   from   member   where   intDepartmentID=5   and   strName!='张山'。如果有记录,那么表示姓名重复,插入失败。没有记录,那么要执行 insert   into   member   (intDepartmentID,strName)   values   (5,'张山')  
   
   
  我现在的问题是上面要执行2条语句,先select,然后insert,  
  我想用一个语句来执行,就是判断条件是否存在,如果存在,那么插入失败,不存在那么执行insert语句 。  
   
  麻烦高手告诉我。 问题点数:20、回复次数:5Top

1 楼xiaoguanguan(一只飞得慢的笨鸟)回复于 2005-01-08 08:11:27 得分 0

在数据库里把部门id和姓名两个字段设为联系主键。直接执行插入就可以了。如果部门和姓名同时相同的时候,数据库会自动返回错误信息。否则,即可成功插入。Top

2 楼hongyanyufei(鸿雁于飞)回复于 2005-01-08 12:28:25 得分 0

楼上的朋友说的是。  
   
  alter   table   member   with   nocheck   add  
        constraint   [pk_member]   primary   key   clustered  
        (  
              [id],  
              [strName]  
        )   on   [primary]Top

3 楼stWalking(【space & time walking】【时空漫步】追逐流逝的岁月)回复于 2005-01-08 15:10:54 得分 0

insert   into   member   (intDepartmentID,strName)   values   (5,'张山')  
  where   (select   count(*)   from   member   where   intDepartmentID=5   and   strName!='张山')=0Top

4 楼njjxd(njjxd)回复于 2005-01-10 12:08:36 得分 0

stWalking   说的    
        insert     into     member     (intDepartmentID,strName)     values     (5,'张山')      
        where     (select     count(*)     from     member     where     intDepartmentID=5     and     strName!='张山')=0     不行  
   
  hongyanyufei:说的,是在sqlserver中的语句,我的数据库是mysqlTop

5 楼mathematician(数学家)回复于 2005-01-10 15:06:35 得分 20

主键:  
  alter   table   member   add   primary   key(intDepartmentID,strName);  
  唯一限制索引:  
  alter   table   member   add   unique   emp_name2(intDepartmentID,strName);Top

相关问题

  • JDBC连接MYSQL,可以进行插入操作,但查询却不能进行
  • MySQL:请问各位高手是如何处理mysql的频繁查询和插入,删除操作的?
  • 用JSP操作mysql插入中文没问题,但是中文查询却有问题,
  • 请教一查询插入语句
  • 求助,mysql查询
  • mysql查询语句
  • mysql查询问题
  • MYSQL查询问题...
  • mysql中文查询
  • php,mysql插入中文

关键词

  • 语句
  • 数据库
  • 执行
  • intdepartmentid
  • 插入
  • strname
  • member
  • 姓名
  • 山
  • 部门

得分解答快速导航

  • 帖主:njjxd
  • mathematician

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...

社区焦点:

教你怎样用C#搞笑整人
最懒惰的程序员写的Cache
程序员如何掌握专业英语
Java栈与堆
分享:让人懊恼的面试
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo