MySQLタイムスタンプ列にNULLを挿入/更新すると、予期しない動作が発生します。
次のステートメントを検討してください。
create table temp(id int, hireDate timestamp default 0);
insert into temp (id) values(1);
insert into temp (id, hireDate) values(2, null);
select * from temp;
id hireDate
-----------------------------
1
2 2012-09-19 10:54:10.0
最初の挿入(hiredate
SQLで指定されていない場合、hireDateがnull(0)
予期されます。
ただし、SQLで明示的なnullが渡されると、予期しない現在の日時が挿入されます。なぜこれが起こるのですか?
注:Hibernateは2番目のタイプのインサートを使用するため、問題になります。タイムスタンプ列にnullを挿入するにはどうすればよいですか?