dポイントプレゼントキャンペーン実施中!

「主キー」の「PRI」の守備範囲がいまいちわかりません!?

Mysqlで社員IDを管理するテーブルをプログラミングする場合

1)以下にある「画像を添付」~ カラムaに対してNullがYESとした場合
  同じIDが2個以上できることを意味しているのでしょうか?

2)重複をさせないID管理をしたい場合で、画像のKeyの真下にPRIとしたことで
  何が変わるのですか?

3)Field「a」書式でNullが「YES」とkeyが「PRI」とした場合のIDの重複との関連性
  はありますか?
 
4) 以下の画像の通りにテーブルを作成した場合、IDが重複しますか?

 以上ですが、支離滅裂なところもあるかと思いますが、理解を深めたいと思います。
 よろしくお願いいたします。

「「主キー」の「PRI」の守備範囲がいまい」の質問画像

質問者からの補足コメント

  • HAPPY

    ありがとうございました。
    今後ともよろしくお願いいたします。

      補足日時:2021/03/04 04:26

A 回答 (2件)

>1)以下にある「画像を添付」~ カラムaに対してNullがYESとした場合同じIDが2個以上できることを意味しているのでしょうか?



カラムaは主キーなので、nullは入力できません。もしやろうとしてもエラーが返されます。

>2)重複をさせないID管理をしたい場合で、画像のKeyの真下にPRIとしたことで何が変わるのですか?

主キーはレコードがユニークなことを担保します

>3)Field「a」書式でNullが「YES」とkeyが「PRI」とした場合のIDの重複との関連性はありますか?
 
NullがYESならKeyをPRIにすることはできません。
逆にKeyがPRIならNullはNoしか選べません

> 4) 以下の画像の通りにテーブルを作成した場合、IDが重複しますか?

画像の通りテーブルは作成できません。
またIDが主キーであればIDは絶対に重複しません
    • good
    • 1
この回答へのお礼

ありがとうございました。
だいぶ理解が深まりました。
早く、PHP、CSS、MySqlと交えての
何かプログラミングがを作りたいです。
当面の目標掲示板ですが、セキュリティを兼ね備えた
SNSに移行できればいいです。
 早く実践したいです。

お礼日時:2021/03/04 04:25

質問の意図がよくわかりませんが


aが主キーであるならnullを含まないユニークな整数カラム
ということですのでNull表示はNOになるはずです
具体的にどうやってつくったテーブルか例示ください
    • good
    • 1
この回答へのお礼

ありがとうございます。
私はまだ実践著がなくて、まだ著書で勉強している段階です。
なので!
ピントが合っていない質問に受け止められたのだと思います。

以下が著書全部ではないのですが内容です。

◎主キーの作成
主キーを作る入力方法
TBを作成する。今回はTB名を「itii」とする。
・「itii」のカラムは「a」INT型のカラムと「b」VARCHAR(10)型の二つの作成する。コマンド以上コマンドこれです。
 
  CREATE TABLE itii (a INT PRIMARY KEY,b VARCHAR(10));

「DESC」で以上の構造を調べると次のようになります。

|実行結果 |
+---------+

mysql> use db1
Database changed

mysql> CREATE TABLE itii (a INT PRIMARY KEY,b VARCHAR(10));
Query OK, 0 rows affected (0.04 sec)

mysql> DESC itii;
+-------+---------------+------+-----+---------+-------+
| Field  | Type | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| a | int(11) | NO | PRI | NULL | |
| b | varchar(10) | YES | | NULL | |
+-------+---------------+------+-----+---------+-------+
2 rows in set (0.03 sec)

aの書式:1)「Key」の項で、「PRI」表示されているところが、主キーである
  「PRIMA RY KEY」です。
2)「Null」の項目がカラム「a」は「NO」なってるので「NULL」が
  「何も入力ができない」ことを意味している。

お礼日時:2021/03/03 15:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!