ホームページ >データベース >Oracle >Oracleで主キーを変更する方法

Oracleで主キーを変更する方法

青灯夜游
青灯夜游オリジナル
2022-01-25 17:43:4920287ブラウズ

主キーを変更する方法: 1. 「ALTER TABLE テーブル名 DROP CONSTRAINT 主キー名;」ステートメントを使用して主キーを削除します。 2. 「alter table table name add Primary key (field)」を使用します。 );" ステートメントを使用して主キーを追加します。

Oracleで主キーを変更する方法

このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。

主キーの説明:

テーブルの一意のキーワード。たとえば、学生テーブルでは、学生番号は重複できず一意です。学生数値はキーワード、つまり主キーです。

外部キーとの違い:

外部キーは、他のテーブルに接続されているフィールドです。たとえば、学生テーブルやコース選択テーブルなどがあります。時間に応じて学生を変更する必要があります。テーブル内の学生番号も、コース選択テーブルの対応する学生番号を変更する必要があります。このように、学生番号を外部キー制約としてコース選択テーブルに追加する必要があるため、学生番号を変更すると、すべての外部キーの関連付けが変更されること

主キーの追加や削除などの操作

#1.名前付き主キー

1) 名前付き主キーを追加

①テーブル作成時に主キーを追加します(yy)は主キー「ID」の主キー名)

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

②テーブル作成後に主キーを追加

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

式: alter table テーブル名 add 制約主キー名primary key (field);

2) 名前付き主キーの削除

ALTER TABLE table_test DROP CONSTRAINT yy;

式: ALTER TABLE テーブル名 DROP CONSTRAINT主キー名;

##3) 名前付き主キーによる変更

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

2. 名前のない主キー

#1) 名前のない主キーの作成#①テーブル作成時に主キーを追加します(テーブルの主キー名)主キー「ID」をクエリする必要があります。以下の方法があります)

CREATE TABLE table_test(

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

name VARCHAR(20) NOT NULL,

address VARCHAR(20),

PRIMARY KEY(id)

);

②テーブル作成後に主キーを追加

alter table table_test add primary key (id);

式 :

テーブルテーブル名を変更主キーを追加(主キー フィールド 1, 主キー フィールド 2...);

#2) 名前のない主キーの削除

##①最初主キー名 (constraint_name) を調べます。 user_cons_columns テーブルについては記事の最後で説明します。

SELECT t.* from user_cons_columns t where t.table_name  = 'TABLE_TEST' and t.position is not null;
Formula:

SELECT t.* from user_cons_columns t where t.table_name = 'テーブル名'かつ t.position が null ではない; --テーブル名は次のように大文字である必要があります: TABLE_TEST

②削除された SQL<pre class="brush:sql;toolbar:false">ALTER TABLE table_test DROP CONSTRAINT SYS_C0056038;</pre> 式を実行します:

ALTER TABLEテーブル名 DROP CONSTRAINT 主キー名;

3) 名前のない主キーの変更

需先删除主键,再进行添加
推奨チュートリアル: " Oracle チュートリアル>>

以上がOracleで主キーを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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