![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e6f04cf)
はじめまして。私は今ショッピングサイトを作ろうとしているものです。
データベース、Mysqlのプロフェッショナルに質問したいことがあります。
今作ろうとしているショッピングサイトでは顧客登録機能を付けようと思っています。顧客の主キーはメールアドレスにしようと思っているのですがいいんでしょうか?
もちろん登録するときにメールアドレスが重複していないかのチェックはかけるので重複することはないと思いますがどうなんでしょう?
またメールアドレスは顧客変更で変更される場合もあります。ですから主キーが変わるということになります。(変更時にもプログラムで重複チェックをかけるので重複はしないですが)
それか別にオートインクリメントなどを主キーにするほうがいいでしょうか?
例 オートインクリメント メールアドレス 名前 住所 etc・・・
これなら主キーは一意にできますが知り合いから聞いた話ではオートインクリメントはあまり主キーなどに使わないほうがいいと聞きました。
皆さんならどんな感じのテーブルを作成しますか?
No.1ベストアンサー
- 回答日時:
個人的にはメールアドレスや電話番号を主キーにします。
ミスによる多重登録を防ぐためです。オートインクリメントですと、
主キーでの重複チェックは出来ません。
メールアドレスや電話番号ならチェック不要なのです。もし、既に
登録されていればINSERTでエラーになりますから、予め検索する
必要がありません。オートインクリメントだと、登録前にチェックが
必要なので、DBアクセスが1回余計にかかるし、マルチスレッド
なので、「今見て無いから登録時も無い」とは言えません。
チェック⇒登録の間ロックするのも面倒だし・・・
また、同一人物が複数のメルアドを持っていて、それぞれで登録
しても構わないんじゃないでしょうか。お客に変わりないし、
「信用調査のため名寄せ」なんてことまで考えていなければ特に
問題ないと思います。
回答ありがとうございます。
やはりメールアドレスを主キーにするのがいいようですね。
セキュリティー的にもこっちのほうがいいみたいですね^^
さっそくこの方法でつくってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 飲食業・宿泊業・レジャー ビジネスホテルのカードキーのトラブルです。 1 2023/07/11 07:30
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- その他(データベース) accessについて 2 2022/05/31 16:58
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- カラオケ カラオケのキー下げは負け組なのですか? 8 2023/02/20 05:58
- カラオケ 原曲キー設定で歌った事を原曲キーと言ってはいけないんでしょうかね? 5 2023/06/01 23:00
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- 楽器・演奏 短調の曲は、なぜ短調のハモニカでは吹けず、長調のハモニカでは完璧に吹けるのかの理由が知りたいです 4 2023/04/20 10:56
- Google+ ブランド品偽物サイトからのメールを拒否する方法 批判覚悟で投稿します。 とあるサイトからブランド品を 2 2023/01/11 21:49
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access VBAでクエリーのレコー...
-
ワードで保存するファイル名の...
-
シングルクォーテーションとダ...
-
ワードでの単純作業の効率化に...
-
Access 縦(行)のデータを横(列)...
-
データベースの1要素に複数デー...
-
Accessデータベースで行と列を...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
必須入力項目と入力必須項目
-
ACCESSで400以上のフィールドが...
-
Access テキスト型に対する指定...
-
作番ってどういう意味でしょうか?
-
Vbaでアクセスからエクセルにリ...
-
importについて
-
INSERT INTO ステートメントに...
-
SQLServer2005のSQL文での別名...
-
エクセルグラフの凡例スペース
-
APN設定について教えていただけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access IF文でテーブルに存在し...
-
Access VBAでクエリーのレコー...
-
データベースの1要素に複数デー...
-
ワードでの単純作業の効率化に...
-
ACCESS2003 Aアクロバットを介...
-
Access フォームのデータがテー...
-
ワードで保存するファイル名の...
-
Accessデータベースで行と列を...
-
Access 既に開いているフォー...
-
ACCESS で マクロの中でフィ...
-
Accessで名寄せグループの関係...
-
顧客IDを入力すると顧客名や住...
-
ADOでレコードを閉じるタイミン...
-
文字化け、記号の含まれるフィ...
-
Access クロス集計クエリについて
-
Access 縦(行)のデータを横(列)...
-
シングルクォーテーションとダ...
-
テーブル1 2 3 の結合
-
Access レコードロックについて...
-
Accessフォームからのデータ登...
おすすめ情報