2015-09-07 21 views
0

我正在使用mysql和pma。我有一個表mytable和一個列time,存儲〜17K個人的價值觀,即時間戳(整數)。如何通過使用mysql將特定時間(秒)添加到現有時間戳來更新列中的時間戳值?

我需要更新每個通過添加962758到每個時間戳。這個SQL命令是什麼樣子的?

SELECT (*) FROM `mytable` t1 
UPDATE `mytable` SET time = + 962758 
PROFIT? :) 

你需要一個SELECT陳述或者它僅僅UPDATE工作?

我不能在這種情況下使用php。

+0

那是什麼列的數據類型? – Rahul

+0

@Rahul它的int(10) – Alex

回答

1

考慮到它的TIMESTAMP數據類型,你可以說

UPDATE `mytable` SET time = time + INTERVAL 962758 seconds; 

根據您的評論,因爲它是INT類型;你可以像你已經做的那樣做添加。

UPDATE `mytable` SET `time` = `time` + 962758; 
+0

也可以用嗎?或者是時間戳== int數據類型? – Alex

+0

'time = time +'是每個行中實際時間值的第二個'time'佔位符? – Alex

+0

@Alex,它不過是說'a = a + b' ...首先增加會發生然後分配。 – Rahul

1

如果數據存儲爲datetime值,那麼你只可以使用:

select timestampadd(second, 962758, time) 

如果該值是UNIX時間戳,那麼它已經是在幾秒鐘內,你可以再補充962758.

+0

你會如此善良,並提供完全可運行的SQL命令?它的int - – Alex

1

根據您的評論的領域爲int

UPDATE `mytable` 
SET time = time + 962758; 

而且無需選擇