2011-03-26 86 views
4

我总是想知道为什么我们应该将数据库表中的列长度限制为默认值。例如,我的表中有一列short_name人们默认长度是255个字符的列,但我将其限制为100个字符。它会有什么不同。为什么需要指定表中的列长度

回答

0

该字符串将被截断为最大长度(通常以字符为单位)。

0

实际实施的方式取决于您使用的数据库引擎。

例如:

  • CHAR(30)将始终使用最多30个字符中的MySQL,并且这允许 MySQL来加快访问,因为它是能够预测值 长度而不解析任何东西;
  • 当严格模式打开时,VARCHAR(30)会将任何冗长的字符串修剪为30个字符,否则您可能会使用更长的字符串并将它们完全存储;
  • 在SQLite中,您可以将字符串存储在任何类型的列中,而忽略类型。

这些数据库引擎支持SQL的许多功能,尽管它们没有被利用,或者以不同的方式被利用,这是为了保持与SQL模式的一致性。

相关问题