Anylogic 数据库如何写在同一行?

问题描述

我在一个大学项目中工作,我遇到了这个问题。我对任何逻辑都很陌生,所以我为我的无知道歉。

我们想将各个 timeMeasureEnd 块中的数据写入数据库表中。我们有列 end1;结束2;结束3; end4 和 end5。

我们一直在使用

insertInto(endtimes)
  .columns(endtimes.endX)
  .values(timeMeasureEndX.time())
  .execute();

其中 X一个块变为另一个块。但是,这会在数据库表中为每个新值创建一个新行。

我们也尝试将这段代码用于第 2 到第 5 个值

update(starttimes)
   .where(starttimes.start2.isNull())
   .set(starttimes.start2,startTimeP2j.time())
   .execute();

试图只影响空值并具有相应的第一个值。但是,鉴于第二个作业的第一个值可能出现在第一个作业的第二个值之前,这可能会影响后续的每个值。

如何将值插入特定行?如果这是不可能的,我怎么能用第二位代码一次只改变一个值?

提前感谢您抽出宝贵时间。

最好的问候, 迪奥戈

解决方法

看起来您需要一个“键”列,以便能够在有多个值时更新一行。澄清一下:是否有一些共同的信息,比如一件作品的 ID 号或除了时间之外的其他东西存储在该记录中并可用于唯一标识它?

或者,该表可以有 5 行,每行包含对象名称(即“end1”、“end2”...)和时间值。