「主キー」の「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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UNIONする際、片方テーブルしか...
-
now()かCURRENT_TIMESTAMPか
-
GREATESTで NULLをスルーする方...
-
MYSQLで全てのカラムから検索す...
-
頭に0が付く文字
-
構造が異なる二つのテーブルをu...
-
一部のカラムでdistinctし全て...
-
ROUND関数で、四捨五入ができな...
-
SELECT文で、指定カラム以外の...
-
update時にtimestampが更新され...
-
mysqlで部分的にオートインクリ...
-
DBエラーの意味
-
MySQLのTIMEDIFFのバグの解決方法
-
条件付group byについて
-
MySQLのオプティマイザはルール...
-
DB2のBLOB型カラムに格納された...
-
SQLでカラムを追加し、条件に合...
-
カラムとコラムの使い分け
-
MySQLで論理名を取得する方法
-
DBの定義のサイズを大きくし過...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一部のカラムでdistinctし全て...
-
now()かCURRENT_TIMESTAMPか
-
MYSQLで全てのカラムから検索す...
-
GREATESTで NULLをスルーする方...
-
SELECT文で、指定カラム以外の...
-
SQLでカラムを追加し、条件に合...
-
UNIONする際、片方テーブルしか...
-
AUTO_INCREMENTに0はダメ?
-
MySQLで先頭にカラムを追加
-
カラムをコピーして、新規カラ...
-
sql , insert で空行(全ての列...
-
エクセルかワードで家系図を作...
-
カラムとコラムの使い分け
-
DBエラーの意味
-
【SQL】select に ワイルドカー...
-
ドロップダウンリストの連動し...
-
頭に0が付く文字
-
ROUND関数で、四捨五入ができな...
-
構造が異なる二つのテーブルをu...
-
MySQLで論理名を取得する方法
おすすめ情報
ありがとうございました。
今後ともよろしくお願いいたします。