Java的SQLite无法正确更新行

时间:2019-01-05 15:56:33

标签: java sql database sqlite

下午好。我的数据库在Java上实现它时遇到了问题。我想更新这两列。 Puntos行不会引起任何问题,并且每次我运行executeUpdate()时,该行都会递增。但是,在“维多利亚总数”中,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) 提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

为简单起见,我会使用双引号(这是 standard SQL的方式),如下所示:

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

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

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