MyBatisでNULLのフィールドを更新しようとするとエラーになる、どうすればよいか
MyBatisでは、あるフィールドをNULLに更新する際、#{null}と表記する必要がある。NULLキーワードをそのまま使用すると文字列「NULL」と認識されてしまう。
User テーブルに username フィールドがあり、そのフィールドを NULL に更新したい場合、次のように記述します。
<update id="updateUsernameToNull" parameterType="int">
UPDATE User
SET username = #{null}
WHERE id = #{id}
</update>
なお、上記の例の#{null}はNULL値を表しており、変数やパラメータ名ではありません。
コードにエラーがある場合は、正しい#{null}構文を使用しているかどうかを確認してください。