• ベストアンサー

テーブルにフィールド数以下の値を挿入しようとした時エラーが出ます

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

RDBMS名、バージョンを書きましょう。 insertで列名を省略するということは、「その表の構成列を、定義順に指定した」と解釈されます。したがって、values句で指定する値は、すべての列に対して必要になります。 特定の列だけの値を指定したいなら、列名を明記し、指定しない列はnull値を許すかdefault句で省略時の値を設定しておく必要があります。 insert文で列名を省略する別の方法としては、ビュー表を定義し、ビュー経由でinsertする方法があります。この場合も、上述のようなnull値許可やdefault句の設定が必要になります。なお、ビュー表の扱いにはRDBMSにより差があり、insertやupdateなどでできる操作に制限が出る場合があります。

mellow91
質問者

お礼

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

関連するQ&A