ホームページ >データベース >mysql チュートリアル >mysqlの主キーとしてカラム名を変更するにはどうすればよいですか?

mysqlの主キーとしてカラム名を変更するにはどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2020-09-28 09:33:222482ブラウズ

カラム名を主キーとして変更する Mysql メソッド: 「ALTER TABLE データ テーブル名 ADD PRIMARY KEY (フィールド名/カラム名);」ステートメントを使用して設定します。フィールド/カラムは、主キー制約は、値が重複してはならず、空でないことを保証する必要があります。

mysqlの主キーとしてカラム名を変更するにはどうすればよいですか?

主キー (PRIMARY KEY) の正式名称は「主キー制約」で、MySQL で最も頻繁に使用される制約です。通常の状況では、DBMS がテーブル内のレコードをより速く検索できるようにするために、テーブルに主キーが設定されます。

(推奨チュートリアル: mysql ビデオ チュートリアル )

主キーを使用するときは、次の点に注意する必要があります:

  • #各テーブルのみ 主キーを定義できます。

  • 主キー値はテーブル内の各行を一意に識別する必要があり、NULL にすることはできません。つまり、テーブル内に同じ主キー値を持つデータ行が 2 つ存在することはできません。これが一意性の原則です。

  • #フィールド名は、結合主キー フィールド テーブルに 1 回だけ出現できます。

  • 結合主キーには、不必要な冗長フィールドを含めることはできません。結合主キーのフィールドが削除されたときに、残りのフィールドで構成される主キーがまだ一意性の原則を満たしている場合、結合主キーは正しくありません。これが最小化の原理です。

テーブル変更時に主キー制約を追加する

主キー制約は、テーブルの作成時に作成できるだけでなく、テーブルが変更されたときに追加されます。ただし、主キー制約として設定されたフィールドでは null 値は許可されないことに注意してください。

データ テーブルを変更するときに主キー制約を追加するための構文形式は次のとおりです:

ALTER TABLE <数据表名> ADD PRIMARY KEY(<字段名/列名>);

tb_emp データ テーブルのテーブル構造を表示します。SQL ステートメントと実行結果は次のとおりです。

mysql> DESC tb_emp;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   |     | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.14 sec)

例:

データ テーブル tb_emp を変更し、フィールド ID を主キーとして設定する SQL ステートメントと実行結果は次のとおりです。

mysql> ALTER TABLE tb_emp
    -> ADD PRIMARY KEY(id);
Query OK, 0 rows affected (0.94 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.12 sec)

通常、テーブルを変更するときにテーブル内のフィールドの主キー制約を設定する場合は、主キー制約として設定されたフィールドの値が重複できないことを確認する必要があります。空であってはなりません。そうしないと、主キー制約を設定できません。

関連する推奨事項:

php トレーニング

以上がmysqlの主キーとしてカラム名を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。