将列[Time]转换为Timestamp mysql

时间:2017-05-18 13:09:37

标签: mysql

看到问题,您可能会发现它是重复的。但我研究过它并没有。

问题是我的表格中有一列" TIME"数据类型。现在我想将列转换为" TIMESTAMP"。

我也尝试过使用修改。 查询

ALTER TABLE `mydb`.`temp_table` MODIFY COLUMN `time` TIMESTAMP

但这不起作用。我得到的错误

Error Code: 1292. Incorrect datetime value: '20:00:00' for column 'time' at row 1

更改表格更改列也不起作用。有什么方法可以转换TIMESTAMP列。

我能看到的最后一个选项是将列转换为VARCHAR,然后更新附加日期,然后转换为时间戳。

更新:

尝试将时间转换为DATETIME。这没有给出任何错误,但数据不正确。更改列后的时间" 20:00:00"改为" 2020-00-00 00:00:00"

2 个答案:

答案 0 :(得分:1)

我认为你应该添加另一个" TIMESTAMP"列到您的表格并从您传输数据"时间"列到新" TIMESTAMP"柱。然后你就可以放弃原来的" TIME"列并将新列重命名为" TIME"。

ALTER TABLE `mydb`.`temp_table` ADD COLUMN `time_stamp` TIMESTAMP;
UPDATE table SET time_stamp = TIMESTAMP(CURDATE(), `time`);
ALTER TABLE `mydb`.`temp_table` 
         DROP COLUMN `time`;         
ALTER TABLE `mydb`.`temp_table` 
         CHANGE COLUMN `time_stamp` `time` TIMESTAMP;

答案 1 :(得分:0)

试试这个:

<map:MapControl x:Name="mappie" 
                        MapServiceToken="mysecrettoken"
                        Grid.Row="1">
        <map:MapItemsControl ItemsSource="{Binding Houses}">
            <map:MapItemsControl.ItemTemplate>
                <DataTemplate>
                    <TextBlock map:MapControl.Location="{Binding Location}" Text="{Binding Code}" map:MapControl.NormalizedAnchorPoint="0.5,0.5" FontSize="20" Margin="5"/>
                </DataTemplate>
            </map:MapItemsControl.ItemTemplate>
        </map:MapItemsControl>