将数据类型从int更改为时间会导致现有值错误

时间:2019-04-03 18:49:18

标签: mysql sql time

我有一个新项目,其中小时信息存储为int数据类型

现在,我需要这两个信息(小时和分钟)

经过一些研究,我发现数据类型时间对于将小时和分钟信息存储在列中将是很好的。

当我们将现有数据类型从int更改为8时,将现有数据类型更改为00:00:08

问题:更改数据类型后,小时数从数据类型时间变为秒数

有人可以指导我如何正确地将其从int映射到时间吗?

表结构

<div class="container borderColor" >
          <h1 id="example-id-name" class="centered-text sansSerif-text">STOR/E</h1>
           <p class="centered-text"> Every great story begins on a blank page </p> 


           <div class="row">
    <div class="col-sm-6 img-responsive ">
        <img src="images/book1" alt="book one">
    </div>
    <div class="col-sm-6 img-responsive ">
        <img src="images/book2" alt="book two">
    </div>
</div>

My CSS

    .img-responsive{
        display: block;
        max-width: 100%;
        height: auto;
    }

实际结果

before
    Name    Type
    hours   int

after
    Name    Type
    hours   time

预期结果

00:00:08

1 个答案:

答案 0 :(得分:2)

创建一个临时列作为TIME数据类型,并使用以下查询:

UPDATE t
SET hours_temp = SEC_TO_TIME(hours * 60 * 60)

对结果满意后,删除原始列并重命名临时列。


如果您已经弄乱了数据,请改用它:

UPDATE t
SET hours_temp = SEC_TO_TIME(EXTRACT(second FROM hours) * 60 * 60)