datasetを使ったデータベース操作について質問です

各レコードにstarts_date_time、starts_date_timeなどが書かれてあります。
しかし一部のレコードにはstarts_date_time書かれていないNULLになっているレコードがあります。
start_at(UNIX時間が書いてある)は必ず書かれてあるので、もし、starts_date_timeがNULLのレコードがあれば、そのレコードのstarts_atを元にstarts_date_timeに記録したい文字を作成し、レコードをアップデートしたいです。

http://ideone.com/uHg9EB
こんなスクリプトを書いてみたんですが、実際に動かすと、全てのレコードのstarts_date_timeが、1番目のレコードのstarts_atから変換したものに置き換わってしまいました。
どこが間違っていますか?