13位毫秒級時間戳 vs mysql int(13)

問題描述:html

須要存儲13位毫秒級別的時間戳,mysql中設置格式爲int(13),出現溢出,自動截斷爲2147483647mysql

分析:sql

若是直接問int類型的存儲範圍,必定是知道的,但加上後面的(n)就混淆了。3d

解決:修改成bigint (使用mysql版本低於5.6.4)htm

https://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.htmlblog

5.6.4 之前:不支持毫秒級的時間戳存儲(DATETIME TIMESTAMP)字符串

5.6.4以後:可經過設置小數位數存儲get

 

【補充】io

知識點一:int(n)中的n表明什麼?display widthbfc

  • n表明展現長度,不足時左側補齊空格
  • n不會影響可存儲的範圍

知識點二:VARCHAR 和 CHAR中的n又表明什麼呢

CHAR(n):n最大爲255,使用大小老是n bytes;

VARCHAR(n):n最大爲65535,使用大小與存儲字符串實際長度有關;

相關文章
相關標籤/搜索