对,自增字段插入失败也要+1 如果不能修改,只有手工了
假设用LSB保存最大ID db.Insert(表1) UPDATE LSB SET ID=(SELECT MAX(ID) FROM 表1) db.Insert(表2 (ID) SELECT ID FROM LSB); db.EndTransaction();
如果不知的话,用表保存最大的自增字段值, 锁此表(保存最大值)->取最大值->更新此表->释放锁
主键是自增的, 我原本希望是全部表的数据提交在一个事务中, 不知道这个思路对不对? 是在同一个事务中,如用ADO连接MDB,自增字段可用 select @@identity 取得
用事务就可以了。
可以测试一下,在印象中是安全的
如何保证写入数据的一致性,即要么几张表内全部写入成功,要么全部不写 打开事务,没有问题再提交 如何获得记录的主键值,提供给其他表作为外键的使用呢? 主键什么类型?自增? 一般要取得记录的主键值后,锁此表,使用完再释放
7,712
社区成员
28,796
社区内容
加载中
试试用AI创作助手写篇文章吧