MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

(一意でない行を持つ)既存のテーブルに一意のキーを追加するにはどうすればよいですか?


alterコマンドを使用して、既存のテーブルに一意のキーを追加できます。構文は次のとおりです-

ALTER TABLE yourTableName ADD CONSTRAINT yourConstraintName UNIQUE(yourColumnName1,yourColumnName2,............N);

上記の概念を理解するために、いくつかの列を持つテーブルを作成しましょう。テーブルを作成するためのクエリ-

mysql> create table MovieCollectionDemo
   −> (
      −> MovieId int,
      −> MovieDirectorName varchar(200),
      −> NumberOfSongs int unsigned
   −> );
Query OK, 0 rows affected (0.62 sec)

これで、テーブルに一意の制約がないことを確認できます。一意性制約をチェックするためのクエリは次のとおりです-

mysql> desc MovieCollectionDemo;

以下は出力です-

+-------------------+------------------+------+-----+---------+-------+
| Field             | Type             | Null | Key | Default | Extra |
+-------------------+------------------+------+-----+---------+-------+
| MovieId           | int(11)          | YES  |     | NULL    |       |
| MovieDirectorName | varchar(200)     | YES  |     | NULL    |       |
| NumberOfSongs     | int(10) unsigned | YES  |     | NULL    |       |
+-------------------+------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

これで、上記の構文から一意のキーを追加できます。 MovieId列に一意のキーを追加しています。クエリは次のとおりです-

mysql> alter table MovieCollectionDemo add constraint uni_moviecollectio unique(MovieId);
Query OK, 0 rows affected (0.46 sec)
Records: 0 Duplicates: 0 Warnings: 0

テーブル全体とMovieId列を見て、一意キーがあるかどうかを確認しましょう。

mysql> desc MovieCollectionDemo;

以下は出力です-

+-------------------+------------------+------+-----+---------+-------+
| Field             | Type             | Null | Key | Default | Extra |
+-------------------+------------------+------+-----+---------+-------+
| MovieId           |          int(11) | YES | UNI |     NULL |       |
| MovieDirectorName |     varchar(200) | YES |     |     NULL |       |
| NumberOfSongs     | int(10) unsigned | YES |     |     NULL |       |
+-------------------+------------------+------+-----+---------+-------+
3 rows in set (0.02 sec)

上記の出力には「UNI」が表示されます。これは、フィールド「MovieId」に一意のキーがあることを意味します。


  1. MySQLテーブルの行を条件に置き換える方法は?

    条件を設定して行を置き換えるには、MySQLCASEステートメントを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1481    -> (    -> PlayerScore int    -> ); Query OK, 0 rows affected (0.42 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1481 values(454); Query OK

  2. Accessのテーブルで主キーを追加または削除する方法

    Microsoft Accessを作成する場合 テーブルの場合、Accessはデータベーステーブルの主キーを自動的に作成しますが、データベーステーブルの主キーとして必要なフィールドを指定することもできます。 主キー Microsoft Accessでは、テーブル全体で一意の値を持つフィールドまたはフィールドのセットです。主キーには、データベース内の各行を一意に識別する、常に値が含まれる、空になることはない、値に変更が含まれないなど、いくつかの特性があります。 Accessのテーブルで主キーを追加または削除する方法 Accessデータベーステーブルに主キーを追加および削除するには、以下の方法