下午好。我的数据库在Java上实现它时遇到了问题。我想更新这两列。 Puntos行不会引起任何问题,并且每次我运行executeUpdate()时,该行都会递增。但是,在“ Victorias totales”中,executeUpdate()方法的行为就像

UPDATE EquiposIBAI
SET Puntos=Puntos + 3, 'Victorias Totales' = 1
WHERE NOMBRE='SD Eibar' AND fk_CodLiga=5;


我的意思是,该值不会增加,只会被覆盖。

UPDATE EquiposIBAI
SET Puntos=Puntos + 3, 'Victorias Totales' = 'Victorias Totales' + 1
WHERE NOMBRE='SD Eibar' AND fk_CodLiga=5;


有什么办法可以解决它?(我正在使用SQLite for Java)
提前谢谢。

最佳答案

在SQLite中,您需要使用双引号("),方括号([])或反斜杠对列名进行转义。

为了简化起见,我将使用双引号(这是标准的SQL方式),如下所示:

UPDATE EquiposIBAI
SET Puntos=Puntos + 3, "Victorias Totales" = "Victorias Totales" + 1
WHERE NOMBRE='SD Eibar' AND fk_CodLiga=5;


单引号用于字符串文字,并且在第三行中使用得很好。

或者,我将避免(在可能的情况下)在列名中使用空格,或者避免...在此情况下使用任何特殊字符。在这种情况下,我会将列名更改为victorias_totales

10-02 23:45