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」の原因と解決方法

次へ

久しぶりに午前0時過ぎには家に帰れた