问一个添加数据的问题 用delphi连接MySQL数据库,有个表只有一个字段(moduleId),需要在事务中先向该表添加一行,得到添加的moduleId用于修改其它表的值,问题是,我如果用sql语句去添加的话,由于主码是数据库自动生成的,添加了就不知道哪个moduleId是最后添加的了,而我用append方法去添加的话(我用的是adoquery控件),由于该表只有一个字段,死活添加不了,各位有没碰到过这个问题,解答一下,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 樓主是否可以連繼發SQL語句呢?如:1、先取出最大的moduleId號2、然後再新增3、再取出最大的moduleId號實現時分兩步走:第一步:執行1,然後加1第二步:執行2、3,語句如下:Insert into [tablename](moduleId)values(moduleId + 1)select max(moduleId) from [tablename]--------------------------------如果我的說法對你有幫助,請您也幫我一個忙:詳情請見:http://community.csdn.net/Expert/topic/4598/4598070.xml?temp=.1748011 先谢谢duanhai(段海),祝福你幸福但Mysql数据库自动生成主码并不是找个最大值然后加1,如果有的行被删除造成主码不连续的情况,它会找到那个最小的间断点然后那个值当做主码插入数据库,所以你的方法不能使用 最好是moduleId你自己生成,让MYSQL生成的话不好控制. 自己生成主码的话怕违反唯一性约束而报错现在的考虑是在那个表再添加一个字段description,添加的时候用append方法 使用DOCK PRESIDENT控件做停靠窗口,如何在程序启动的时候就把需要停靠的窗口停靠在想要的位置? mscomm控件使用出现问题(众里寻你千百度) 出現錯誤'逾時超時' 在线程中动态创建SOCKET和使用SOCKET过程中遇到了一些问题,希望有相关处理经验朋友给点帮助! 不好意思,再问一下,真的不明白,能详细一点吗? 关于delphi里的内存管理方式。高分求教。。。 2000下ntfs格式的分区 关于DELPHI6.0的重要问题!!!急 如何添加快捷方式到‘开始’按扭的边上? XML 到底有什么用?我不会啊! 关于ActiveForm的问题 c语言翻译成Delphi,急!!!
如:
1、先取出最大的moduleId號
2、然後再新增
3、再取出最大的moduleId號實現時分兩步走:
第一步:執行1,然後加1第二步:執行2、3,語句如下:
Insert into [tablename](moduleId)values(moduleId + 1)
select max(moduleId) from [tablename]--------------------------------
如果我的說法對你有幫助,請您也幫我一個忙:
詳情請見:
http://community.csdn.net/Expert/topic/4598/4598070.xml?temp=.1748011
但Mysql数据库自动生成主码并不是找个最大值然后加1,如果有的行被删除造成主码不连续的情况,它会找到那个最小的间断点然后那个值当做主码插入数据库,所以你的方法不能使用
现在的考虑是在那个表再添加一个字段description,添加的时候用append方法