MySQL でテーブルを変更するときに主キー制約を追加するにはどうすればよいですか?

青灯夜游
リリース: 2020-10-12 11:28:05
オリジナル
5075 人が閲覧しました

mysql では、「ALTER TABLE テーブル名 ADD PRIMARY KEY (フィールド名);」ステートメントを使用して、データ テーブルを変更するときに主キー制約を追加できます。テーブルを変更するときは、主キー制約を設定する必要があります。テーブル内のフィールドのキー制約。主キー制約として設定されているフィールドの値が重複してはならず、NULL 以外である必要があることを確認してください。

MySQL でテーブルを変更するときに主キー制約を追加するにはどうすればよいですか?

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

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

テーブルの作成時に主キー制約を設定する

CREATE TABLE ステートメントで、PRIMARY KEY キーワードを使用して主キーを指定します。

フィールドを定義する際に主キーを指定します。構文形式は次のとおりです:

<字段名> <数据类型> PRIMARY KEY [默认值]
ログイン後にコピー

Example

test_db データベースに tb_emp3 データ テーブルを作成します。その主キーは次のとおりです。 id、SQL文を実行して実行した結果は以下の通りです。

mysql> CREATE TABLE tb_emp3
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT
    -> );
Query OK, 0 rows affected (0.37 sec)
mysql> DESC tb_emp3;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.14 sec)
ログイン後にコピー

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

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

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

ALTER TABLE <数据表名> ADD PRIMARY KEY(<字段名>);
ログイン後にコピー

通常、データ テーブルを変更するときにテーブル内のフィールドの主キー制約を設定する場合は、テーブルでは、必ず設定してください。主キー制約を形成するフィールドの値は重複することができず、null 以外でなければなりません。そうしないと、主キー制約を設定できません。

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

mysql> DESC tb_emp2;
+--------+-------------+------+-----+---------+-------+
| 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_emp2 を変更し、フィールド ID を主キーとして設定します。SQL ステートメントと実行結果は次のとおりです。

うわー

以上がMySQL でテーブルを変更するときに主キー制約を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート