新・SQL入門編12ドリルのサムネイル
複合主キー制約のあるカラムを持つテーブルを作成しよう MySQL編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

複合主キーは主キー制約の一種ですが、複数のカラムの値の組み合わせが一意となることを要求する制約です。値の組み合わせでレコードが一意に定まれば良いので一部のカラムの値が重複していても問題ありません。

複合主キーは、各カラムで主キーを設定する代わりに、最後のカラムの後にカンマ区切りでPRIMARY KEY(カラム名1,カラム名2, ...)と記述することで設定できます。

これまでの問題で登場したordered_menuテーブルには複合主キーが使われています。これと同じ形式のテーブルを作成してみましょう。

次の表に示される条件でpracticeテーブルを作成したあと、DESC practice;でテーブルの定義を出力してください。

#カラム名データ型制約
1ordered_idINTEGERPRIMARY KEY
2menu_idINTEGERPRIMARY KEY
3numINTEGERNOT NULL
4sumINTEGERNOT NULL


ヒント


CREATE TABLE テーブル名(カラム定義):新たにテーブル名テーブルを作成する
・カラムの定義はカラム名 データ型 制約からなり、複数のカラムを定義する場合はカンマで区切る

入力例1
ordered テーブル
ordered_iddatetimebill
12021-12-17 9:31200
22021-12-17 9:46250
32021-12-17 10:91050
.........
出力例1
Field Type Null Key Default Extra
ordered_id int NO PRI NULL
...

問題一覧へ戻る

  1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 新・SQL入門編12ドリル(言語選択)
  4. 問題一覧 MySQL編
  5. 複合主キー制約のあるカラムを持つテーブルを作成しよう MySQL編
ページの先頭へ戻る