2012-04-27 133 views
1

假設我有一個這樣的表:MySQL的:操作與TIME數據類型

create table reserved (
    id int(4) primary key, 
    name varchar(30), 
    quantity int(4), 
    price int(8), 
    info varchar(50), 
    expiration_time time, 
    contract_id varchar(50) 
); 

而我在其中插入幾行,使用格式爲「HH:MM:SS」爲EXPIRATION_TIME領域。 現在我要更新這個領域,加入50秒時:

update reserved set expiration_date=expiration_date+50 where id=1 

當我有HH:MM不到10秒的SS,一切工作正常。但是在一段時間內:01:10:40,增加50秒會導致01:11:00。我能做些什麼來解決這個問題?謝謝

回答

1

使用ADDTIME()連同MAKETIME()

UPDATE reserved 
SET expiration_date=ADDTIME(expiration_date,MAKETIME(0,0,50)) 
WHERE id=1; 
+0

我怎麼會計算如果時間是另一個時間後?是「>」運營商好嗎? – Madrugada 2012-04-27 16:47:38

+0

@Madrugada:你爲什麼不試試看? ;) – eggyal 2012-04-27 16:50:06