【问题标题】:SQL statement perform minus operation on columnSQL语句对列执行减法运算
【发布时间】:2015-05-07 02:18:35
【问题描述】:

我在尝试使用 SQL 语句对列执行减号操作时遇到了一些困难。所以这里是servlet的代码:

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();
        }
    }

我的游戏桌是这样的:

所以基本上每次执行SQL时,我希望gameCapacity减1。但是我不确定如何将varChar转换为整数并使用SQL语句执行减号操作。

有什么想法吗?

【问题讨论】:

  • 如果你在数字上下文中使用它,mysql 会默默地把它当作一个数字 - 即gamecapacity = gamecapacity - 1 会起作用
  • 为什么varchar类型列有数字?

标签: mysql sql servlets


【解决方案1】:

您不必做任何特别的事情 - MySQL 会识别您在数字上下文中使用 gameCapacity,因此将允许您对其执行算术运算。

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

应该就是你所需要的。

如果可以,也值得将该字段转换为整数。

【讨论】:

  • 如果我想减去一些数字变量而不是 1 怎么办?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多