storage: fix a bug that existing record may be removed by ON DUPLICATE KEY UPDATE

It assumes that a table has no PRIMARY KEY and UNIQUE KEY. "ON
DUPLICATED KEY UPDATE" is invoked for two records in the table by
"INSERT ON DUPLICATE KEY UPDATE". The second record is deleted and
created again. It clears all column values on the record. It is the
bug fixed by this change.

Redmine: fixes #2263

https://gist.github.com/kazeburo/8682403

Reported by Masahiro Nagano. Thanks!!!