在Delphi中,TFDQuery组件具有“聚合”属性,该属性表示数据集的客户端聚合字段的轻量级版本。
如果插入“ MAX(ID)”,则得到的数字比ID的下一个空闲数字小一个。
如果可以将其用于计算ID字段,那么对于每种数据库都有一个ID字段自动生成器将是一种非常简单的方法。
但是我怀疑,因为它被称为“客户端”。我不知道那到底是什么意思。它不是为整个表而是仅对记录的本地分区计算汇总吗?在最后一种情况下,一旦正确初始化,它就可以用于自动生成器。
答案 0 :(得分:1)
如果可以将其用于计算ID字段,那么对于每种数据库都有一个ID字段自动生成器将是一种非常简单的方法。
恐怕无论如何都不是为了“每种数据库”。 “客户端”的意义在于,客户端的派生行ID的方法对共享数据库不好,在共享数据库中,不同的用户可能试图同时向同一表中添加行。
对于多用户数据库,一如既往,最好使用服务器端RDMS提供的任何工具来提供ID字段值。一些RDMS(例如Interbase)具有所谓的生成器来可靠地为您执行此操作。