質問: unique key user_name_inde サンプルの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とついてるので、 この書き方だけで、ユニークインデックスなるものにしているのでしょうか?
回答: >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の組み合わせがユニークであるという意味になります)