2014-10-16 113 views
0

下面是代码:我应该使用什么数据类型来存储MySQL数据库中的U.S状态?

<div class="control-group questions"> 
    <div class="field-control randomclass-two"> 
     <input class="form-control" name="zipcode" id="zipcode" type="zip" placeholder="Zipcode" required="" data-validation-required-message=" " /> 
      <div class="second-selection"><select name="statetwo" id="second-opt"> 
<option>State</option> 
<option value="AL">Alabama</option> 
<option value="AK">Alaska</option> 
<option value="AZ">Arizona</option> 

我看着MySQL手册,但没有发现任何会向我解释如何做到这一点。

+1

CHAR(2)看起来非常合理。 – 2014-10-16 17:05:18

+0

为什么?如果你可以请解释 – Arwen 2014-10-16 17:15:48

+0

添加了答案。 – 2014-10-16 17:30:56

回答

1

您可以用1个字节(8位中的256个可能状态)编码all 88 state codes。但是,这需要查找表(1 = AL,2 = AK,...)

如果您使用两个字节对状态进行编码,则无需查找表。对于大多数应用程序,使用1或2个字节编码状态的差异对性能,存储要求或成本影响可以忽略不计。

由于州代码是标准化的,我会选择CHAR(2)。为了简单起见,我会牺牲少量额外的存储空间。

相关问题