PostgreSQL|ERROR: INSERT has more expressions than target columns の原因と解決方法
PostgreSQLでInsertを実行した時に、
ERROR: INSERT has more expressions than target columns
といったエラーが出ることがある。この場合、Insertを行うためのSQLに誤りがある可能性がある。
エラーが出るSQLの例
insert into nobuneko_table (
nobuneko_year,
nobuneko_title
) values (
2011,
'猫大好き',
'温泉も好きです'
);
この例の場合、「nobuneko_year」と「nobuneko_title」という合計2つのカラムに対してValueとしてセットした項目の数がカラムの数よりも多い3つとなっているためにエラーとなっている。
エラーの原因と解決方法
このエラーを解決するには、カラムの数と、そのカラムに格納するValue値それぞれの数を一致させればよい。
エラーの出ないSQLの例
insert into nobuneko_table (
nobuneko_year,
nobuneko_title,
nobuneko_comment
) values (
2011,
'猫大好き',
'温泉も好きです'
);