c语言操作mysql的一个问题!!在线等~~~~~

usr_src 2009-08-09 10:09:44
mysql中有id这个字段,在用c语言操作mysql过程中,本打算王mysql中添加信息,但是考虑到添加的id可能会与原有的id有冲突的情况~~不知道该如何去做??本打算用输入id的方式来删除mysql中对应的信息,但是考虑到id可能不存在~~!希望高人指点!!!~~~
...全文
92 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
usr_src 2009-08-11
  • 打赏
  • 举报
回复
????????????
sg_1949 2009-08-10
  • 打赏
  • 举报
回复
不懂这个 !
sg_1949 2009-08-10
  • 打赏
  • 举报
回复
不懂这个 !
usr_src 2009-08-10
  • 打赏
  • 举报
回复
这样不太好吧??如果我想添加任意的id(不重复的情况下)呢??
ckc 2009-08-10
  • 打赏
  • 举报
回复
用自增
usr_src 2009-08-10
  • 打赏
  • 举报
回复
现在的问题是我们要求是这样设定的,即不是自增的情况~~那么该如何去实现插入,删除,修改等功能呢??麻烦大侠给个示范代码~~~多谢!!
Dave888Zhou 2009-08-10
  • 打赏
  • 举报
回复
恩,这个问题我也想到了,就是想利用中间的某个空闲id。这其实与你的数据库本身的设计有关。一般如果数据库设计得不好的话,这个比较难办到,要办到也比较烦,比如要扫描每一个id(最好写成存储过程之类的),去查找数据库中是否有,这涉及到大量的数据检索操作,性能低,吃力不讨好。有的数据库系统也会提供一个函数来返回数据库中第一个空闲的id。如果你事先把id设计为自动增加,那就根本不存在这个问题。如果你事先设计为一个班级中的学生人数有上限,那就可以先找到最小的id,然后扫描到上限的这些id,看看哪一个在数据库中是空闲的。等等。
usr_src 2009-08-10
  • 打赏
  • 举报
回复
假如想插入的id=8;原来没有id=8;但是有id=1~6,有id=10~~17,这样怎么办呢???
Dave888Zhou 2009-08-10
  • 打赏
  • 举报
回复
你可以根据要添加的记录的id去查找数据库(select语句),若不存在(可以通过myql C API返回的结果集是否为空来判断),则直接插入这条记录(insert语句);若存在,则可以更新数据库中的这条记录,使它成为你要添加的那条记录值(update语句)。当然,如果你的要求不是这样的,那就查找数据库中最大id值(select语句,结合max函数),把你要添加的记录的id改为下一个值,然后插入这条记录(insert语句)。

这不单是怎么操作mysql C API的问题,也是怎么写SQL语句的问题。
usr_src 2009-08-09
  • 打赏
  • 举报
回复
晕~~!现实中一个班级中会有两个学号相同的人吗??名字相同还有可能!!!~~
simonjay2007 2009-08-09
  • 打赏
  • 举报
回复
同一个字段名可以有相同的值,比如你的列名为id,但id可以有相同的值。
  • 打赏
  • 举报
回复
mysql的一个表里主键,你如果添加相同项是会失败的吧,你直接添加就是了。

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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