您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将列设置为MySql工作台中的时间戳?

将列设置为MySql工作台中的时间戳?

编辑

MysqL 5.6.4开始,数据类型在小数秒内TIMESTAMP(n)指定n(0到6)精度的十进制数字。

MysqL 5.6之前,MysqL不支持将小数秒存储为TIMESTAMP数据类型的一部分。

参考:https ://dev.mysql.com/doc/refman/5.6/en/fractional- seconds.html

我们不需要在上指定长度修饰符TIMESTAMP。我们可以TIMESTAMP自己指定。

但是请注意,TIMESTAMP表中定义的第一列会自动进行初始化和更新。例如:

create table foo (id int, ts timestamp, val varchar(2));

show create table foo;

CREATE TABLE `foo` (
`id` INT(11) DEFAULT NULL,
`ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`val` VARCHAR(2) DEFAULT NULL
)

数据类型后面的含义取决于该数据类型,但是对于某些数据类型,它是一个长度修饰符。

对于某些数据类型,长度修饰符会影响可以存储的值的最大长度。例如,VARCHAR(20)最多可以存储20个字符。并且DECIMAL(10,6)允许使用小数点前四位数字和小数点后六位数字值,有效范围为-9999.999999至9999.999999。

对于其他类型,使用长度修饰符不会影响可以存储的值的范围。例如,INT(4)INT(10)都是整数,并且两者都可以存储整数数据类型允许的所有值范围。

在这种情况下,长度修饰符所做的只是提供信息。它本质上指定了建议的显示宽度。客户可以利用它来确定行上要保留多少空间以显示列中的值。客户不必这样做,但是该信息可用。

编辑

TIMESTAMP 数据类型不再接受长度修饰符。(如果您运行的是旧版本的 MysqL,并且该版本已被接受,它将被忽略。)

MySQL 2022/1/1 18:46:28 有291人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶