テーブル名を文字列で格納するなどスマートでない設計ですが、DUPLICATE以外の動作はシンプルです。 テーブル名で示されたテーブルを、プライマリキー値で検索し、そのデータに基づいてスマホ側で実行されるSQL文を生成しています。 図4 更新情報テーブルのレコードからスマホ用SQL文を生成 なお、DELETEとRESTOREは特別な更新種別です。DELETEは鉄道事業者・路線・駅の廃止または長期休止を表し、RESTOREはいったんDELETEされた鉄道事業者・路線・駅の長期休止からの復活を表しています。しかしこれらはいずれも、UPDATEで代替可能です。両者はともに、対象テーブルのenabledカラムが変更された、という意味であり、他のカラムの更新と等価だからです。 ただし、駅の休止や復活は、ユーザデータの無効・有効に直結する重要な項目です。これは、このupdatesテーブルのメンテナーにと
![第4回 Webアプリとスマホアプリの同期 | gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/efe6bce303f387cc23f50eeb955a4cbb981a8201/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2FICON%2F2013%2F1125_oritsubushi.png)