【问题标题】:Update Mysql column by subtracting a value with some conditions?通过在某些条件下减去一个值来更新 Mysql 列?
【发布时间】:2013-03-13 18:46:57
【问题描述】:

我有一些桌子

身份证姓名点 ---------------------- 1 个名字 1 0 2 名称2 15 3 名称3 0 4名4 20

我想通过$db->Query更新积分表

我想从积分中减去 1,但条件是如果积分大于 0。

所以当更新表格时会这样显示

身份证姓名点 ---------------------- 1 个名字 1 0 2 名称2 14 3 名称3 0 4 名称4 19

【问题讨论】:

  • 你在使用 CodeIgniter 吗?您需要语法方面的帮助,还是只需要 SQL 查询?

标签: php mysql sql cron


【解决方案1】:

试试

UPDATE yourtable
   SET points = points - 1
 WHERE points > 0

SQLFiddle

要使用 mysqli 扩展执行它,你可以这样做

$db = new mysqli('localhost', 'user', 'password', 'dbname');
if ($db->connect_error) {
    die("Connect Error: " .$db->connect_error); //TODO: better error handling
}

$sql = "UPDATE yourtable
           SET points = points - 1
         WHERE points > 0";

if (!$db->query($sql)) {
    die("Update failed. Error: " .$db->error); //TODO: better error handling
}

【讨论】:

  • 我可以试试这个 $db->Query("UPDATE table SET points='points - 1' WHERE points > 0");
  • @Auhits 您不必在点 - 1 中使用单引号,因为这是 MySQL 语法的一部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
相关资源
最近更新 更多