我有2列的startdate和enddate int类型。这些列用于存储时间戳数据。数据截断列startDate1在行
现在我要提取该时间戳的日期部分,将其转换回时间戳的储存于int类型的另一列startdate1
但在这样做,我得到一个警告“数据截断列startDate1在'行'。
的SQL查询: -
ALTER TABLE `ServiceRule` ADD COLUMN `startDate1` INT(11) NULL DEFAULT NULL AFTER `endDate` , ADD COLUMN `endDate1` INT(11) NULL DEFAULT NULL AFTER `startDate1`;
update `ServiceRule` set `startDate1`= TIMESTAMP(DATE(from_unixtime(`startDate`)));
update `ServiceRule` set `endDate1`= TIMESTAMP(DATE(from_unixtime(`endDate`)));
现在,如果我startDate1和ENDDATE1的数据类型更改为TIMESTAMP,startDate1的第一个更新查询运行成功。 但是,endDate1更新查询显示警告'行'处的列'endDate1'超出范围值。
浏览解决方案后,我知道如果输入值大于列数据类型范围,就会发生这种情况。
任何人都可以请尝试帮助我吗? 在此先感谢。 :)