2014-10-16 116 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)。爲了簡單起見,我會犧牲少量額外的存儲空間。

相關問題