我试图在MySQL工作台中使用日期时间类型创建一个列。
但是,当我选择日期时间类型时,它会出现类似左的错误
无法设置新数据类型DATETIME包含的给定数据类型 错误,不能接受。保留先前的值"
我该如何使用这种类型?
答案 0 :(得分:25)
我遇到了这个问题,您需要确保在选择数据类型时将datetime()更改为datetime而不使用()。
从MySQL 5.6.4开始,DATETIME可以有亚秒,精度级别在()中定义,如果你没有使用亚秒,那么只需将它们全部删除。这也适用于TIME和TIMESTAMP数据类型。
答案 1 :(得分:0)
重新创建初始工作台连接或重置高级连接属性以更新服务器版本。如果服务器已升级且工作台连接未更新,则工作台仍认为它正在使用旧版本,因此限制日期时间(x)并将其标记为错误。
答案 2 :(得分:0)
从5.6.4开始,TIME,TIMESTAMP和DATETIME可以占小数部分。要创建一个亚秒级的字段,您可以在方括号中指定精度:TIME(3),DATETIME(6)等。
time(3) = 05:05:10.000 (3 precision )
timestamp(6) = 2013-07-04 05:05:10.000000 (6 precision )
datetime(1) = 2013-07-04 05:05:10.0 (1 precision )
datetime = 2013-07-04 05:05:10 (0 precision )
答案 3 :(得分:0)
您需要在括号中添加一个值。例如,使用DATETIME(4)而不是DATETIME()。