Google Spreadsheet から DBにデータ保存して参照する
移転しました。
"); // リダイレクト setTimeout("redirect()", 2000); // 2 sec function redirect(){ location.href = url; } // canonical の書き換え var link = document.getElementsByTagName("link")[0]; link.href = url; -->Google Spreadsheet は シートに値を埋めていけば簡易DBになるんですが、多少データ量が増えてくると200万セル制限にひっかかったりして面倒なことになります。
このためDBにデータを保存しようとして、いろいろ探してみました。
Google Cloud SQL
Google Cloud SQL を使えばGoogle Spreadsheetから簡単にMySQLにアクセスできるんですが、お金がかかるということで却下
JDBC | Apps Script | Google Developers
Fusion Tables
Fusion Tables というDB(平たくいうとGoogleが提供している地図情報と連携できるデータベースのようなものだそうです)は無料で使えそうとのことで以下ページを参考に試してみました。
Googleドライブでデータベースが使えるという衝撃 | 非IT企業に勤める中年サラリーマンのIT日記
上記サイトでは select, insert は例がのっていましたが、update に関しては記載がなかったので試してみます。
Fusion Tables は上記サイトを参考に使える状態にしておきます。
Fusion Tables に update 文実行
Update する際にどうも ROWID という行番号以外は指定できないようです。 このため事前に以下のようなselect文でROWIDを取得してから
// Utilities.formatString でなぜかサーバーエラーがでるようになるため文字列連結 var sql = "SELECT ROWID FROM " + ファイルID + " " + "WHERE " + "AND PROJECTID = '12345' " ; var rowid = FusionTables.Query.sql(sql).rows[0];
以下のようなUpdate文で更新する必要があります。
- これ誰か他に良い方法が他にあれば教えてください。
var sql = "UPDATE " + ファイルID + " " + "SET value = 1 " + "WHERE ROWID = '12345' ; FusionTables.Query.sql(sql); // UPDATEされるはず
Fusion Tables の1テーブルごとに最大行数ってあるの?
ドキュメントがまだ見つからない、、、
どこかに記載あるのだろうか。
以下記事の情報もガセネタっぽい。