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,
'猫大好き',
'温泉も好きです'
);

前へ

PHPエラー「Warning: Division by zero」の原因と解決方法

次へ

PostgreSQL|ERROR: INSERT has more expressions than target columns -- Cause and Solution