MySQLテーブルに電話番号(携帯電話番号とオフィス番号)を保存する最良の方法は何ですか?
ユーザーはMobileNumber(CountryCodeおよびMobileNumber)とOffice Number(CountryCode、AreaCodeおよびPhoneNumber)を持っている場合があります。
私のアプリケーションは、主にインド市場をターゲットとし、他の市場にも成長します。電話番号を格納するためにvarchar列を使用することを好みます。
しかし、オフィス電話用に3列、携帯電話用に2列必要ですか?または、オプションとして市外局番のあるすべての種類の電話番号の3つの列?
同様の質問 here を見ましたが、まだ回答はありません。
市外局番がオプションの3列ソリューションをお勧めします。携帯電話番号doに市外局番(米国など)が設定されている国のケースを処理でき、保守と保守がはるかに容易になります。
本当に数をその部分に分割する必要がありますか?通常、番号の唯一の用途は、電話をかける人です。だから、私は数のために単一のフィールドを提案します。
モバイルvsオフィスvs自宅vsファックスvs ...-電話番号の表を作成します。明らかに、この問題は1対多です。 (1人から多くの番号)。そのテーブルには、user_id、type ENUM('mobile', ...)
、numberの3つの列があります。
さて、数自体について。実行notデフォルトはutf8です。代わりに、
VARCHAR(40) CHARACTER SET ascii
(いいえ、40で十分かどうかはわかりません。)
拡張機能-1-800-123-4567x9876
?上手;多分その構文は大丈夫です。
ダッシュ。 お願い、数字を入力するときにダッシュを強制的に削除しないでください。