【问题标题】:add +1 to field (hit counter)将 +1 添加到字段(命中计数器)
【发布时间】:2011-05-11 23:52:25
【问题描述】:

如何在 c_request 字段中添加 +1。每次我这样做并插入时,我都想在当前数字上加一个 1(例如命中计数器)

mysql_query("INSERT INTO ed_names (com_id, c_date, c_time, c_type, c_request, c_by)
        VALUES ($id, CURRENT_DATE, CURRENT_TIME, '.($type == 'normal' ? 1 : 2).',0,$user)");     

$rid = mysql_insert_id();

【问题讨论】:

  • 看起来您想要 UPDATE 而不是 INSERT,对吧?
  • UPDATE counter set referred = '$referredUser', hits=hits+1 where referrer_id = '$referrer'

标签: mysql


【解决方案1】:

如果要添加到现有的,请使用更新,如果没有,只需输入 1

INSERT INTO ed_names (com_id, c_date, c_time, c_type, c_request, c_by)
    VALUES ($id, CURRENT_DATE, CURRENT_TIME, '.($type == 'normal' ? 1 : 2).',1,$user) 

如果你想更新,你可以这样做

update ed_names set c_date = CURRENT_DATE, C_time = CURRENT_TIME, c_type = '.($type == 'normal' ? 1 : 2).''.($type == 'normal' ? 1 : 2).', c_request = c_request + 1, c_by = $user where com_id = $id

【讨论】:

  • 如果我使用更新而不是插入,我仍然可以使用 mysql_insert_id();获取行 insert_id?
  • 如果不知道应该增加什么Id,那怎么增加呢?不,mysql_insert_id 在更新时不起作用。
  • 看看这个就知道mysql_insert_id是如何工作的:stackoverflow.com/questions/1388025/…
【解决方案2】:
mysql_query("UPDATE ed_names SET c_request = c_request+1 WHERE id = 'x'");

【讨论】:

  • 这么简单,我根本没想到!
猜你喜欢
  • 2010-09-05
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
  • 2013-02-19
  • 2015-01-10
  • 2017-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多