• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UNIQUE KEY user_name_inde)

UNIQUE KEYとは?CREATE TABLE文内での使用方法と意味について教えてください

このQ&Aのポイント
  • UNIQUE KEYは、UNIQUEと同義で、ユニーク制約を設定するためのキーワードです。
  • CREATE TABLE文の中でuser_nameカラムを作成し、user_name_indexという名前のユニークインデックスを設定しています。
  • ユニークインデックスは、指定した列の値が一意であることを保証するためのデータベースオブジェクトです。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答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の組み合わせがユニークであるという意味になります)

re999
質問者

お礼

回答ありがとうございました。 「たとえば」以下の具体的な説明が、大変参考になりましたー

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...) [index_option ...] http://dev.mysql.com/doc/refman/5.1/ja/create-table.html ですから「UNIQUE」「UNIQUE INDEX」「UNIQUE KEY」は同義でしょう。 値が一意(unique)であることを保証する情報は,実表(create table)自体が持つのではなく,索引表(create unique index)が保持しています。 ですから,user_name_index が索引表名 [index_name] で,(user_name) が列名 (index_col_name,...) でしょう。

re999
質問者

お礼

回答ありがとうございました。 >ですから「UNIQUE」「UNIQUE INDEX」「UNIQUE KEY」は同義でしょう。 知りたかった情報なので、参考になりましたー

すると、全ての回答が全文表示されます。