Heim  >  Artikel  >  Datenbank  >  So ändern Sie den Primärschlüssel in Oracle

So ändern Sie den Primärschlüssel in Oracle

青灯夜游
青灯夜游Original
2022-01-25 17:43:4920061Durchsuche

Methoden zum Ändern des Primärschlüssels: 1. Verwenden Sie die Anweisung „ALTER TABLE Name DROP CONSTRAINT Primary Key;“ zum Löschen des Primärschlüssels. 2. Verwenden Sie die Anweisung „Alter Table Table Name Add Primary Key (field);“ um den Primärschlüssel hinzuzufügen.

So ändern Sie den Primärschlüssel in Oracle

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.

Erklärung des Primärschlüssels:

Das eindeutige Schlüsselwort einer Tabelle, z. B. einer Schülertabelle, kann nicht wiederholt werden und ist eindeutig. Die Schülernummer ist das Schlüsselwort, also der Primärschlüssel.

Unterschied zu Fremdschlüsseln:

Fremdschlüssel sind Felder, die mit anderen Tabellen verbunden sind. Beispielsweise gibt es eine Studententabelle und eine Kursauswahltabelle. Zu diesem Zeitpunkt müssen Sie die Studentennummer ändern Die entsprechende Tabelle in der Kursauswahltabelle muss ebenfalls geändert werden. Daher müssen Sie die Studentennummer als Fremdschlüsselbeschränkung zur Kursauswahltabelle hinzufügen, damit beim Ändern der Studentennummer alle Fremdschlüssel vorhanden sind Zuordnungen werden geändert

Hinzufügen, Löschen und andere Vorgänge am Primärschlüssel

1. Mit benanntem Primärschlüssel

1) Hinzufügen eines benannten Primärschlüssels

①Fügen Sie den Primärschlüssel beim Erstellen hinzu Die Tabelle (yy ist der Primärschlüsselname der Primärschlüssel-ID) ;

2) Mit benanntem Primärschlüssel löschenalter table 表名 add constraint 主键名 primary key(字段);

2)有命名主键的删除

CREATE TABLE table_test(
 
id INT NOT NULL,       --注意:主键必须非空
 
name VARCHAR(20) NOT NULL,
 
address VARCHAR(20),
 
constraint yy PRIMARY KEY(id)
 
);

公式:ALTER TABLE 表名DROP CONSTRAINT 主键名;

3)有命名主键的修改

alter table table_test add constraint yy primary key(id);

2.无命名主键

1)无命名主键的创建

①建表时添加主键(主键“ID”的主键名称需要查询出来,下文有方法)

ALTER TABLE table_test DROP CONSTRAINT yy;

②建表后添加主键

需先删除主键,再进行添加

公式:alter table 表名 add primary key(主键字段1,主键字段2...);

2)无命名主键的删除

①先查出来主键名(constraint_name),user_cons_columns表会在文末给出解释

CREATE TABLE table_test(

id INT NOT NULL,       --注意:主键必须非空

name VARCHAR(20) NOT NULL,

address VARCHAR(20),

PRIMARY KEY(id)

);

公式:SELECT t.* from user_cons_columns t where t.table_name  = '表名' and t.position is not null;   --表名必须大写,如:TABLE_TEST

②再执行删除的SQL

alter table table_test add primary key (id);

公式:ALTER TABLE 表名 DROP CONSTRAINT 主键名;

SELECT t.* from user_cons_columns t where t.table_name  = 'TABLE_TEST' and t.position is not null;
Formel: ALTER TABLE table name DROP CONSTRAINT Primärschlüsselname;

3) Änderung des benannten Primärschlüssels Schlüssel

ALTER TABLE table_test DROP CONSTRAINT SYS_C0056038;

🎜🎜2. Unbenannter Primärschlüssel🎜🎜🎜🎜🎜🎜1) Erstellung eines unbenannten Primärschlüssels🎜🎜🎜🎜① Tabelle erstellen Beim Hinzufügen eines Primärschlüssels (der Primärschlüsselname des Primärschlüssels „ID“) muss abgefragt werden, es gibt eine Methode unten)🎜
需先删除主键,再进行添加
🎜②Fügen Sie den Primärschlüssel nach dem Erstellen der Tabelle hinzu🎜rrreee🎜Formel: Tabelle ändern Tabellenname Primärschlüssel hinzufügen (Primärschlüsselfeld 1, Primärschlüsselfeld 2 ... );🎜🎜🎜🎜2) Löschen des unbenannten Primärschlüssels🎜🎜🎜🎜①Ermitteln Sie zunächst den Primärschlüsselnamen (constraint_name). Die Tabelle user_cons_columns gibt am Ende des Artikels eine Erklärung🎜rrreee🎜Formel: SELECT t.* from user_cons_columns t where t.table_name = 'table name' and t.position is not null; gelöschtes SQL🎜rrreee🎜 Formel: <code>ALTER TABLE Tabellenname DROP CONSTRAINT Primärschlüsselname;🎜🎜🎜🎜3) Änderung unbenannter Primärschlüssel🎜🎜🎜rrreee🎜Empfohlenes Tutorial: „🎜Oracle Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonSo ändern Sie den Primärschlüssel in Oracle. 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