Heim  >  Artikel  >  Datenbank  >  Wie füge ich Primärschlüsseleinschränkungen hinzu, wenn ich eine Tabelle in MySQL ändere?

Wie füge ich Primärschlüsseleinschränkungen hinzu, wenn ich eine Tabelle in MySQL ändere?

青灯夜游
青灯夜游Original
2020-10-12 11:28:055072Durchsuche

In MySQL können Sie die Anweisung „ALTER TABLE Name ADD PRIMARY KEY (Feldname)“ verwenden, um eine Primärschlüsseleinschränkung hinzuzufügen, wenn Sie die Primärschlüsseleinschränkung eines Felds festlegen möchten Wenn Sie die Tabelle ändern, stellen Sie sicher, dass die Werte in den Feldern, die die Primärschlüsseleinschränkung bilden, nicht doppelt vorhanden sein dürfen und nicht null sein dürfen.

Wie füge ich Primärschlüsseleinschränkungen hinzu, wenn ich eine Tabelle in MySQL ändere?

(Empfohlenes Tutorial: MySQL-Video-Tutorial)

Der vollständige Name des Primärschlüssels (PRIMARY KEY) lautet „Primärschlüsseleinschränkung“, die in MySQL am häufigsten verwendete Einschränkung. Unter normalen Umständen wird ein Primärschlüssel in der Tabelle festgelegt, damit das DBMS Datensätze in der Tabelle schneller finden kann.

Legen Sie beim Erstellen der Tabelle Primärschlüsseleinschränkungen fest.

Geben Sie in der CREATE TABLE-Anweisung den Primärschlüssel über das Schlüsselwort PRIMARY KEY an.

Geben Sie den Primärschlüssel an, während Sie das Feld definieren. Das Syntaxformat ist wie folgt:

<字段名> <数据类型> PRIMARY KEY [默认值]

Beispiel

Erstellen Sie die Datentabelle tb_emp3 in der Datenbank test_db, deren Primärschlüssel id ist.

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)

Primärschlüsseleinschränkungen beim Ändern der Tabelle hinzufügen

Primärschlüsseleinschränkungen können nicht nur beim Erstellen der Tabelle erstellt, sondern auch beim Ändern der Tabelle hinzugefügt werden. Es ist jedoch zu beachten, dass in Feldern, die als Primärschlüsseleinschränkungen festgelegt sind, keine Nullwerte zulässig sind.

Das Syntaxformat zum Hinzufügen einer Primärschlüsseleinschränkung beim Ändern einer Datentabelle lautet wie folgt:

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

Wenn Sie beim Ändern der Tabelle normalerweise eine Primärschlüsseleinschränkung für ein Feld in der Tabelle festlegen möchten, stellen Sie sicher, dass der Wert in dem Feld, das als Primärschlüsseleinschränkung festgelegt ist, gilt dies nicht. Es können Duplikate vorhanden sein und es muss garantiert werden, dass es nicht leer ist. Andernfalls kann die Primärschlüsseleinschränkung nicht festgelegt werden.

Beispiel

Sehen Sie sich die Tabellenstruktur der Datentabelle tb_emp2 an. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt.

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)

Ändern Sie die Datentabelle tb_emp2 und legen Sie die Feld-ID als Primärschlüssel fest. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt.

mysql> ALTER TABLE tb_emp2
    -> ADD PRIMARY KEY(id);
Query OK, 0 rows affected (0.94 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp2;
+--------+-------------+------+-----+---------+-------+
| 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)

Das obige ist der detaillierte Inhalt vonWie füge ich Primärschlüsseleinschränkungen hinzu, wenn ich eine Tabelle in MySQL ändere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn