将数字存储为varchar

Yet*_*eti 15 mysql

可以将数字存储为varchar吗?

有什么区别

int 123456789012varchar 123456789012

Red*_*ter 37

不,这几乎总是一个坏主意.

  • 会占用更多空间
  • 索引也不会表现得那么好
  • 你不能做算术
  • 由于类型,数据不是自我验证的
  • 自动模型生成器将为您提供字符串类型而不是数字
  • SUM之类的聚合将不再有效
  • 输出可能排序错误
  • 您将需要CAST将其用作数字,从而导致性能下降
  • 等等