問31 |
“商品”表に対してデータの更新処理が正しく実行できるUPDATE文はどれか。ここで、“商品”表は次のCREATE文で定義されている。
CREATE TABLE 商品
(商品番号 CHAR(4),商品名 CHAR(20),仕入先番号 CHAR(6),単価 INT,PRIMARY KEY(商品番号))
|
|
ア |
UPDATE 商品 SET 商品番号 = ‘S001’ WHERE 商品番号 = ‘S002’ |
イ |
UPDATE 商品 SET 商品番号 = ‘S006’ WHERE 商品名 = ‘C’ |
ウ |
UPDATE 商品 SET 商品番号 = NULL WHERE 商品番号 = ‘S002’ |
エ |
UPDATE 商品 SET 商品名 = ‘D’ WHERE 商品番号 = ‘S003’ |
|
|
解説 |
選択肢のSQL文を1つずつ見ていきます。
選択肢ア:実行すると商品番号=S001が2つ出てきてしまいます。商品番号は主キーで重複が認められないので問題があります。
選択肢イ:条件に該当するものが2つあり、実行すると商品番号=S006が2つ出てきてしまします。商品番号は主キーで重複が認められないので問題があります。
選択肢ウ:主キーにNULLを設定することはできません。
選択肢エ:問題なく更新できます。
主キー(PRIMARY KEY)とは、その行を一意に決定するために指定されるもので、重複やNULL(空値)は認められません。
なお、UNIQUEも値を一意に制限するものですが、NULLは認められています。 |
|