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

mysql:1977

From: (moeru) <<moeru@xxxxxxxxxx>>
Date: Mon, 08 May 2000 23:37:16 +0900
Subject: [mysql 01977] AUTO_INCREMENT


こんにちは

AUTO_INCREMENTについて教えてください。


以下のようなテーブルを作ってみたのですが


CREATE TABLE users (
	id INT NOT NULL AUTO_INCREMENT,
	username VARCHAR(20) NOT NULL,
	password VARCHAR(20),
	email VARCHAR(50) NOT NULL,
	PRIMARY KEY (id,username)
	INDEX (username) ,
	INDEX (email) ,
);

登録したユーザーのusersテーブルのデーターを頻繁に参照して変更する場合、

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

ユーザーIDが永遠に同じ番号じゃないとしたら
ユーザーIDで検索することが無く、かつusernameで検索、変更する場合が多い場合、
もしかしたら、usersテーブルのid は必要ないのかな?って思ったのです。。

id は、テーブルのデーターを一意にするためだけのものと考えて良いのでしょうか?

	PRIMARY KEY (username)

とすれば、usernameの重複や他のデーターの一意性を確保することができますよね?

アドバイスいただけると嬉しいです。
どうぞ宜しくお願いしますm(__)m



モエル
ぐるぐるオークション
http://www.pileup.com/auction/
*今うちのオークションをMySQL化するのに奮闘しています。
 いろいろ相談にのってもらえる仲間募集中です(^^)

 

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

->    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>  ]