
サンプルのCREATE TABLE文 の中に、
UNIQUE KEY user_name_index(user_name)
とあったのですが、意味を教えてください。
自分で調べた限りは、UNIQUEというのはあったのですが、
UNIQUE KEY が見つかりませんでした。
UNIQUE KEY は、UNIQUEと同義なのでしょうか?
あるいは、こういう書き方があるのでしょうか?
また、CREATE TABLEの中で、user_nameカラムを作成しているのですが、
user_name_index(user_name)では、何をしているのでしょうか?
user_name_indexと別の名前でUNIQUE KEYに設定しているのでしょうか?
それとも、_indexとついてるので、
この書き方だけで、ユニークインデックスなるものにしているのでしょうか?
No.1ベストアンサー
- 回答日時:
>UNIQUE KEY user_name_index(user_name)
user_name_indexという名前で、user_nameにユニークインデックスを設定しています
「user_name_index」は特に命名ルールがあるわけではなく
hogeでもfugaでもなんでもかまいませんが、本人が後から見てわかるようなものに
しておくのが賢明です
たとえば
(1)CREATE TABLE X (A INT,B INT,C INT,UNIQUE KEY D(A));
(2)CREATE TABLE Y (A INT UNIQUE,B INT,C INT);
(3)CREATE TABLE Z (A INT,B INT,C INT,UNIQUE KEY E(B,C));
(1)であればAフィールドをつかったDという名前のユニークキーを作りますし
(2)のような書き方でもユニークインデックスは設定できます
(この場合、インデックス名はAになります)
(3)のように複合インデックスを貼ることもできます
(この場合BとCの組み合わせがユニークであるという意味になります)
No.2
- 回答日時:
UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...) [index_option ...]
http://dev.mysql.com/doc/refman/5.1/ja/create-ta …
ですから「UNIQUE」「UNIQUE INDEX」「UNIQUE KEY」は同義でしょう。
値が一意(unique)であることを保証する情報は,実表(create table)自体が持つのではなく,索引表(create unique index)が保持しています。
ですから,user_name_index が索引表名 [index_name] で,(user_name) が列名 (index_col_name,...) でしょう。
回答ありがとうございました。
>ですから「UNIQUE」「UNIQUE INDEX」「UNIQUE KEY」は同義でしょう。
知りたかった情報なので、参考になりましたー
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Json のキーと値の出力の違いについて 2 2022/06/14 20:22
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- PHP php ログイン 1 2022/11/01 00:24
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
重複をせずに2つのフィールドを...
-
JOINでの結果取得 サブクエリ...
-
使うべきでない文字。
-
sum()の出力結果順に並び替えを...
-
MySQLで変数やループ、上位3名...
-
【初歩】ラジオボタンをつかっ...
-
SQLの集計で「全て」の合計も表...
-
割合(パーセント)を求めるに...
-
MySQL 副問い合わせ(IN)での...
-
LIKE述語/SQLとPHPを使った検...
-
重複が
-
月別、販売員別の集計がわかり...
-
抽出時のことで質問です
-
【MYSQL】asでリネームしてwher...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
OracleのSQL*PLUSで、デー...
-
Accessで別テーブルの値をフォ...
-
Date型にNULLをセットしたい V...
-
access2003で学籍番号から生徒...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
使うべきでない文字。
-
SQL文で右から1文字だけ削除す...
-
MySQLで MAX()とGROUP BYを使う...
-
sum()の出力結果順に並び替えを...
-
割合(パーセント)を求めるに...
-
【MYSQL】asでリネームしてwher...
-
SQLの集計で「全て」の合計も表...
-
カウント結果を1レコードの中...
-
表示幅を短くしたい
-
【初歩】ラジオボタンをつかっ...
-
何にかが違うから エラーなんで...
-
phpmyadminはトリガーやIF文を...
-
姓名の前後を入れ替えるSQL命令...
-
1つのテーブルから複数のテーブ...
-
月別、販売員別の集計がわかり...
-
mySQLでグループ別の順位を入力
-
MySQL関数max()を条件にSELECT...
-
MySQLにて特定レコードのみを抽...
-
SQLサーバーは[main]![No]とい...
-
チェックボックスの項目をDBにi...
おすすめ情報