year
を囲むだけです キーワードとして解釈されないように二重引用符で囲みます:
INSERT INTO table (id, name, "year") VALUES ( ... );
ドキュメントから:
2番目の種類の識別子があります:区切られた識別子または引用された識別子。これは、任意の文字シーケンスを二重引用符( ")で囲むことによって形成されます。区切られた識別子は常に識別子であり、キーワードではありません。したがって、「select」は「select」という名前の列またはテーブルを参照するために使用できますが、引用符で囲まれていない場合はselectはキーワードとしてベータ版であるため、テーブル名または列名が必要な場所で使用すると、解析エラーが発生します。