MariaDB PR

テーブルに主キーを付け忘れたので追加してみた

記事内に商品プロモーションを含む場合があります

 

この前からLoto6の予測をやりやすいようにデータベースを作成し、データの抽出や加工ができるようにしています。

 

 

しかし、出来上がってから気がついた事がありました。それは主キーが設定していないと言うことです。

主キーとは何かと言うと、Qiitaには以下のように書かれています。

主キーとは、データベースにおいて特定のテーブル内の各レコードを一意に識別するために使用されるフィールドまたはフィールドの組み合わせのことを指します。主キーは、重複する値を持つことができず、かつNULL値を持つことができないことが要件となります。
主キーは、テーブル内の他のフィールドとの関係性を表現するために使用される外部キーと対比されます。主キーを使用することで、データベース内のデータの整合性を維持することができます。

引用:Qiita

 

つまり、データベース内のデータの整合性を取る為には必要なキーなんですね。

しかし、データベースを作成しテーブルを作り、データを注入してしまいましたが、作ったテーブルにはこの主キーが設定されていないことに気がつきました。

NON PRIMARY KEY

通常はテーブル作成時に、次のようなSQL文例のようにテーブル作成時に主キーを設定します。

create table user(id int primary key, name varchar(10));

しかし、今回は主キーの設定を忘れてしまったので後から設定をしなければいけません。

ではどうしたらよいのでしょうか。

その場合には、別のSQL文で既存のテーブルのCOLに主キーを割り当てるのです。

そのSQL文は以下となります。

ALTER TABLE テーブル名 ADD PRIMARY KEY (COL);

このSQL文を使用して実際に行ってみると、結果は以下の通りにnumのCOLがNULが禁止されてPRIのキーが設定されました。

主キー設定

これで主キーが設定されましたので、今後はデータベース内の整合性がちゃんとキープされていくでしょう。

今回は今までと異なり、既にできているテーブルのCOLに主キーを設定する方法について書いてみました。これも自分への備忘録です。

 

スポンサーリンク



スポンサーリンク