[前][次][番号順一覧][スレッド一覧]

mysql:1978

From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Mon, 08 May 2000 23:53:33 +0900
Subject: [mysql 01978] Re: AUTO_INCREMENT

とみたです。

At Mon, 08 May 2000 23:37:16 +0900,
moeru@xxxxxxxxxx (moeru) wrote:

> 登録したユーザーのusersテーブルのデーターを頻繁に参照して変更する場合、
> 
> たとえば、	id INT NOT NULL AUTO_INCREMENT,
> とやった場合
> ユーザーIDが3の人のデーターを削除すると
> AUTO_INCREMENTで
> ユーザーID4の人が3に自動的に変更されると言うことなのでしょうか?

そんなことはありません。AUTO_INCREMENT は自動的に番号をつけてくれるとい
うだけです。

> ユーザーIDが永遠に同じ番号じゃないとしたら
> ユーザーIDで検索することが無く、かつusernameで検索、変更する場合が多い場合、
> もしかしたら、usersテーブルのid は必要ないのかな?って思ったのです。。
> 
> id は、テーブルのデーターを一意にするためだけのものと考えて良いのでしょうか?

ん〜、id をどのような用途に使うかはデータベース設計者なので、私はなんと
も言えませんが…(^^;

> 	PRIMARY KEY (id,username)

だと、(1,"hoge"), (2, "fuga"), (3, "hoge"), (1, "fuga") というレコードが
作れてしまうと思うんですが、これは多分意図してないですよね?

「id と usrename の組合せが一意である」じゃなくて「id と username それぞ
れ一意である」ようにしたいのなら、

	PRIMARY KEY(id), UNIQUE (username)

とした方がいいと思います。

-- 
とみたまさひろ <tommy@xxxxxxxxxx>

[前][次][番号順一覧][スレッド一覧]

      1977 2000-05-08 23:37 [<moeru@xxxxxxxxxx>  ] AUTO_INCREMENT                          
->    1978 2000-05-08 23:53 ┗[とみたまさひろ <tomm]                                       
      1979 2000-05-09 20:24  ┗[<moeru@xxxxxxxxxx>  ]                                     
      1980 2000-05-09 21:07   ┗[とみたまさひろ <tomm]                                   
      1982 2000-05-09 21:39    ┗[<moeru@xxxxxxxxxx>  ]