2011-03-26 87 views
4

我總是想知道爲什麼我們應該將數據庫表中的列長度限制爲默認值。例如,我的表中有一列short_name人們默認長度是255個字符的列,但我將其限制爲100個字符。它會有什麼不同。爲什麼需要指定表中的列長度

回答

0

該字符串將被截斷爲最大長度(通常以字符爲單位)。

0

實際實施的方式取決於您使用的數據庫引擎。

例如:

  • CHAR(30)將始終使用最多30個字符中的MySQL,並且這允許 MySQL來加快訪問,因爲它是能夠預測值 長度而不解析任何東西;
  • 當嚴格模式打開時,VARCHAR(30)會將任何冗長的字符串修剪爲30個字符,否則您可能會使用更長的字符串並將它們完全存儲;
  • 在SQLite中,您可以將字符串存儲在任何類型的列中,而忽略類型。

這些數據庫引擎支持SQL的許多功能,儘管它們沒有被利用,或者以不同的方式被利用,這是爲了保持與SQL模式的一致性。

相關問題