3
CREATE TABLE IF NOT EXISTS `tbl_users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) COLLATE latin1_general_ci NOT NULL,
  `passd` varchar(50) COLLATE latin1_general_ci NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

usermaneasがuniqueあり、それを主キーとして使用できます。では、id を主キーとして保持する利点は何ですか?

ありがとう

4

2 に答える 2

2

主キーは、テーブル内の重複値と null 値を回避します。これは、一意の + 非 null の組み合わせで実行できます。ただし、利点は、テーブルに主キーがある場合、子テーブルとの関係を作成できることです。

これはあなたを助けるでしょう

編集:主キー

  1. 主キーは null 値を受け入れることができません。
  2. 既定では、主キーはクラスター化インデックスであり、データベース テーブル内のデータはクラスター化インデックスの順序で物理的に編成されます。
  3. テーブルには主キーを 1 つだけ持つことができます。
  4. 主キーを別のテーブルへの外部キーにすることができます。

ユニークキー

  1. 一意のキーは、NULL 値を 1 つだけ受け入れることができます。
  2. 既定では、一意のキーは一意の非クラスター化インデックスです。
  3. テーブルには複数の一意のキーを含めることができます。
  4. SQL Serverではユニークキーを別テーブルへの外部キーにすることができます。
于 2013-05-16T12:28:22.120 に答える