2012-01-28 POSTのクエリーをMySQLで文字列として保存 
POSTで受け取ったクエリーをMySQLで文字列として保存したくなりました。
その際に、カラムのデータ型をどうすべきか迷って調べました。
結論としては、MEDIUMTEXT型を使うとよさげ。
1)POSTのクエリーは最大で2MB(メガバイト)を想定すればいい(っぽい)→ 調べが少し甘いですが・・・
※TOMCATがそうらしい。
2)MySQLの文字列データ型ではMEDIUMTEXTが ~16MBである模様
TINYTEXT 256 bytes
TEXT 65,535 bytes ~64kb
MEDIUMTEXT 16,777,215 bytes ~16MB
LONGTEXT 4,294,967,295 bytes ~4GB
出所: http://www.electrictoolbox.com/maximum-length-mysql-text-field-types/
ちなみに、node.jsで開発していてこんなかんじで使いたかったのです。
var express = require('express');
var app = express.createServer();
app.post('*',function(req,res){
var queryString = JSON.stringify(req.body)
// このqueryStringをMySQLのとあるカラムに保存したい
});
//実際にクエリーを使いたい時は、JSON.parseで文字列からJSONに戻してあげる
var queryString = ... // => MySQLから文字列を取得
var queryObject = JSON.parse(queryString);
var name = queryObject.name;
コメントを書く

