アプリ版:「スタンプのみでお礼する」機能のリリースについて

テーブルのフィールド数が10あるとします。挿入したい値が3つしかないとします。
列名を指定せずに挿入するとします。
Insert Table Values('a','b','c')
とやった時、フィールド数が足りませんといったようなエラーが表示されます。
列名を省略したやりかたでは、列名分の値を付け加える必要があるのでしょうか?
先頭の3フィールドのみにデータを追加したいと思うのですが、無理でしょうか?

A 回答 (1件)

RDBMS名、バージョンを書きましょう。



insertで列名を省略するということは、「その表の構成列を、定義順に指定した」と解釈されます。したがって、values句で指定する値は、すべての列に対して必要になります。
特定の列だけの値を指定したいなら、列名を明記し、指定しない列はnull値を許すかdefault句で省略時の値を設定しておく必要があります。

insert文で列名を省略する別の方法としては、ビュー表を定義し、ビュー経由でinsertする方法があります。この場合も、上述のようなnull値許可やdefault句の設定が必要になります。なお、ビュー表の扱いにはRDBMSにより差があり、insertやupdateなどでできる操作に制限が出る場合があります。
    • good
    • 0
この回答へのお礼

access2007でした。ご回答ありがとうございます。理解できました、感謝です!

お礼日時:2009/03/11 22:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す