1

次のようなテーブルがあるとします。

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)
);

そして、expiration_time フィールドに「HH:MM:SS」という形式を使用して、いくつかの行を挿入します。ここで、50 秒を追加して、このフィールドを更新します。

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

HH:MM で SS が 10 秒未満の場合、すべて正常に動作します。しかし、01:10:40 のような時間の場合、50 秒を追加すると 01:11:00 になります。この動作を修正するにはどうすればよいですか? ありがとうございました

4

1 に答える 1

1

ADDTIME()と一緒に使用MAKETIME():

UPDATE reserved
SET expiration_date=ADDTIME(expiration_date,MAKETIME(0,0,50))
WHERE id=1;
于 2012-04-27T13:57:22.627 に答える