13位毫秒级时间戳vsmysqlint(13)问题描述:
需要存储13位毫秒级别的时间戳,mysql中设置格式为int(13),出现溢出,⾃动截断为2147483647 佟星分析:
如果直接问int类型的存储范围,⼀定是知道的,但加上后⾯的(n)就混淆了。
解决:修改为bigint (使⽤mysql版本低于5.6.4)
5.6.4 以前:不⽀持毫秒级的时间戳存储(DATETIME TIMESTAMP)
电子消毒柜
5.6.4之后:可通过设置⼩数位数存储
【补充】
知识点⼀:int(n)中的n代表什么?display width
n不会影响可存储的范围盐城卫生职业学院
出血热百科
知识点⼆:VARCHAR 和 CHAR中的n⼜代表什么呢
nbp
CHAR(n):n最⼤为255,使⽤⼤⼩总是n bytes;
柳智惠VARCHAR(n):n最⼤为65535,使⽤⼤⼩与存储字符串实际长度有关;