MySQL Update查询取决于变量

时间:2014-03-19 11:45:20

标签: mysql jsp

<form name="atten" method="post" action="add.jsp" onSubmit="dte();">
  <p>Date:         <input type="text" id="datepicker" name="dt"></p>
  <p>No. of Hours: <input type="text" name="hours" value="" />
                   <input type="submit" value="Submit" name="sub" />
  </form>

我的表格描述的一部分如下:

   +-------+-------------+------+-----+---------+-------+
   | Field | Type        | Null | Key | Default | Extra |
   +-------+-------------+------+-----+---------+-------+
   | uid   | varchar(10) | NO   | PRI |         |       |
   | mnth  | int(2)      | NO   | PRI |         |       |
   | yr    | int(4)      | NO   | PRI | 0       |       |
   | a1    | int(1)      | YES  |     | NULL    |       |
   | a2    | int(1)      | YES  |     | NULL    |       |

我使用此表单获取两个变量:日期和小时。 我需要根据日期更新不同的列。 示例:如果日期是2014年3月1日。我需要为特定行更新列a1(取决于UID等;稍后我会弄清楚)。

有人可以帮我了解如何根据日期更新特定列。 如果需要,请随时询问更多信息。

我正在使用JSP和MySQL。

1 个答案:

答案 0 :(得分:0)

一种选择是在CASE语句中使用UPDATE,如下所示:

UPDATE table1
SET a1 = CASE 
  WHEN DATE(NOW()) = '2014-03-01' THEN '9'
  ELSE a1
  END,
a2 = CASE 
  WHEN DATE(NOW()) = '2013-01-01' THEN '6'
  ELSE a2
  END