2015-08-20 46 views
0

我有一個MySQL數據庫,它有列Date,Time,a,b和c。 Date是日期數據類型,time是時間數據類型,a,b和c是float。如何在日期和時間範圍內更新表格?

我需要給列b中的條目添加一個常數值給定的日期和時間範圍,但不是所有的值。

我可以創建一個SELECT查詢,獲取我想要更新的數據,但是我對MySQL不太熟悉,不知道如何更新原始表。

工作SELECT查詢是這樣的:

SELECT * FROM (
    SELECT TIMESTAMP(`Date`, `Time`) `DateTime`, `b` FROM `my_db`.`my_table` 
) as selectdata 
WHERE `DateTime` > "2015-02-06" AND `DateTime` < "2015-08-01 10:45:00" 

有沒有辦法,我更新b列中的條目,然後通過在MY_TABLE原始值寫入新的值的方法嗎?

回答

2

您可以使用TIMESTAMP()表達WHERE子句中的UPDATE

update my_db.my_table 
    set b = b + CONSTANT 
    where TIMESTAMP(`Date`, `Time`) > '2015-02-06' and 
      TIMESTAMP(`Date`, `Time`) < '2015-08-01 10:45:00'; 
+0

謝謝;那完美的工作。一個小調整:設置b = b + CONSTANT。 – Tom

相關問題