「主キー」の「PRI」の守備範囲がいまいちわかりません!?
Mysqlで社員IDを管理するテーブルをプログラミングする場合
1)以下にある「画像を添付」~ カラムaに対してNullがYESとした場合
同じIDが2個以上できることを意味しているのでしょうか?
2)重複をさせないID管理をしたい場合で、画像のKeyの真下にPRIとしたことで
何が変わるのですか?
3)Field「a」書式でNullが「YES」とkeyが「PRI」とした場合のIDの重複との関連性
はありますか?
4) 以下の画像の通りにテーブルを作成した場合、IDが重複しますか?
以上ですが、支離滅裂なところもあるかと思いますが、理解を深めたいと思います。
よろしくお願いいたします。
No.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は絶対に重複しません
ありがとうございました。
だいぶ理解が深まりました。
早く、PHP、CSS、MySqlと交えての
何かプログラミングがを作りたいです。
当面の目標掲示板ですが、セキュリティを兼ね備えた
SNSに移行できればいいです。
早く実践したいです。
No.1
- 回答日時:
質問の意図がよくわかりませんが
aが主キーであるならnullを含まないユニークな整数カラム
ということですのでNull表示はNOになるはずです
具体的にどうやってつくったテーブルか例示ください
ありがとうございます。
私はまだ実践著がなくて、まだ著書で勉強している段階です。
なので!
ピントが合っていない質問に受け止められたのだと思います。
以下が著書全部ではないのですが内容です。
◎主キーの作成
主キーを作る入力方法
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」が
「何も入力ができない」ことを意味している。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AUTO_INCREMENTに0はダメ?
-
now()かCURRENT_TIMESTAMPか
-
MySQLで先頭にカラムを追加
-
SELECT文で、指定カラム以外の...
-
カラムをコピーして、新規カラ...
-
SQLです!!教えてください。
-
一部のカラムでdistinctし全て...
-
GREATESTで NULLをスルーする方...
-
MYSQLで全てのカラムから検索す...
-
頭に0が付く文字
-
波形データを格納するデータベース
-
DBエラーの意味
-
sql , insert で空行(全ての列...
-
ドロップダウンリストの連動し...
-
【SQL】select に ワイルドカー...
-
order by 2カラムの先頭1文字...
-
INDIRECT関数の代替方法は?
-
SQLServerでNULLを挿入したいです
-
DBの定義のサイズを大きくし過...
-
End Ifに対応するIfブロックが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一部のカラムでdistinctし全て...
-
GREATESTで NULLをスルーする方...
-
now()かCURRENT_TIMESTAMPか
-
MYSQLで全てのカラムから検索す...
-
SELECT文で、指定カラム以外の...
-
(初心者)MySQLやmaraDBで、crea...
-
AUTO_INCREMENTに0はダメ?
-
UNIONする際、片方テーブルしか...
-
SQLでカラムを追加し、条件に合...
-
構造が異なる二つのテーブルをu...
-
sql , insert で空行(全ての列...
-
エクセルかワードで家系図を作...
-
MySQLで先頭にカラムを追加
-
ROUND関数で、四捨五入ができな...
-
カラムをコピーして、新規カラ...
-
ドロップダウンリストの連動し...
-
DBエラーの意味
-
カラムとコラムの使い分け
-
MySQL(5.5)1テーブル内のカラ...
-
頭に0が付く文字
おすすめ情報
ありがとうございました。
今後ともよろしくお願いいたします。