问题描述
我在一个大学项目中工作,我遇到了这个问题。我对任何逻辑都很陌生,所以我为我的无知道歉。
我们想将各个 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”...)和时间值。