2011-02-05 16 views
-1

MySqlに98**********のような10桁の携帯番号を格納する適切なデータ型は何ですか? 、固定長の文字であるMySQLデータ型

+1

私はこのような質問に答えるためにここにいるとは思わない。 – sevenseacat

+2

あなたは[MySqlデータ型]を学ぶべきです(http://kimbriggs.com/computers/computer-notes/mysql-notes/mysql-data-types-50.file) –

+0

申し訳ありません、できるだけ早くもうできません.. ..ここはすでに11時です。しかし、あなたが待つことができるなら、私は午前12時に答えます。 –

答えて

0

char(10)または同等

私もあなただけ保存することを確認するためにチェック制約を追加したい:それはvarchar型としてこれを保存するために、一般的にお勧めします

  • 値「98」
  • を開始するすべての数字
0

。文字列データとして格納する利点は、数値データ型が先行ゼロを取り除き、空白などを取り除くことです。

もう1つの方法は、国番号、市外局番、番号の3つのフィールドに電話番号を格納することです拡張フィールドもあります)。これは将来のために多くの柔軟性を提供します。もちろん、このデータを表示に適した形式に変換できるメソッド(データベース関数またはアプリケーション関数のいずれか)が必要です。擬似コードで

:それは常に10桁である場合

CREATE TABLE PhoneNumber 
    countryCode char(2), 
    areaCode char(5), 
    number varchar(6), 
    extension varchar(6) 
4

、 "98" プレフィックスを適用するUIとCHAR(10)を使用します。

将来的には、追加の記憶領域が全くないため、VARCHAR(12)またはVARCHAR(20)を使用することもできますが、何らかの方法でUIから国/地域コードを強制したい10桁)ので、データベース層で柔軟性を持たせることは価値があります。