2015-05-07 3 views
-1

У меня возникли трудности при попытке выполнить минус-операцию для столбца с помощью оператора SQL. Так вот код сервлета:Оператор SQL выполняет операцию минус в столбце

else if (action.equalsIgnoreCase("UpdateSlot")) { 
     String gameID = request.getParameter("gameID"); 

     String sqlStr = "UPDATE ... WHERE gameID = '" + gameID + "'"; 
     try { 

      int rSet = db.executeUpdate(sqlStr); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } 

Мой игровой стол как таковой:

enter image description here

Так в основном, когда каждый раз, когда SQL выполняется, я хочу gameCapacity в минус на 1. Но я не уверен, как преобразовать varChar в целое число и выполнить минус-операцию с помощью оператора SQL.

Любые идеи?

+0

mysql будет молча рассматривать его как число, если вы используете его в числовом контексте -ie 'gamecapacity = gamecapacity - 1' будет просто работать –

+0

Почему у вас есть номера в столбце типа varchar? – Alex

ответ

1

Вам не нужно ничего делать - MySQL распознает, что вы используете gameCapacity в числовом контексте и, таким образом, позволяете выполнять на нем арифметические операции.

update ... set gameCapacity = gameCapacity -1 where ... 

Должно быть все, что вам нужно.

Если вы можете, было бы целесообразно преобразовать это поле в целое число.

+0

Что делать, если я хочу минус переменную числа вместо 1? – hyperfkcb

+0

Ах, нетрудно. Я понял, как уже. большое спасибо – hyperfkcb

Смежные вопросы