SQL4 択難易度 基礎

列リスト (name, email) を書き足したい。正しく直したものは?

INSERT INTO usersVALUES ('ann', 'ann@example.com');

正答

  1. INSERT INTO users VALUES (name, email) ('ann', 'ann@example.com');
  2. INSERT INTO users VALUES ('ann', 'ann@example.com') (name, email);
  3. INSERT INTO users (name, email) VALUES ('ann', 'ann@example.com');
  4. INSERT (name, email) INTO users VALUES ('ann', 'ann@example.com');

解説

INSERT 文は INSERT INTO 表名 (列リスト) VALUES (値リスト) の順で、列リストは表名の直後に置く。VALUES の後ろに列名を書くと値リストの一部として読まれて構文エラーになり、値リストの後ろや INTO の前も誤り。users が id, name, email の 3 列なので、列リストを省略した元の文は値が 2 つしか無くエラーになる。列リストを明示すれば表に列が増えても壊れにくい。

参考: www.sqlite.org

insert

この問題を含む SQL のテストを制限時間つきで解く

SQLクイズへ