BLOB型

タグ: ids | MySQL
移行したサーバーで、idsのデータが表示されない。
PHP5だからか? MySQL5だからか?

調べた。
http://questionbox.msn.co.jp/qa25673...

ん?BLOB型?

AES_ENCRYPT('文字列','secret_key')
AES_DECRYPT(field名,'secret_key')

暗号化されたデータはバイナリ(なにそれ?)なので、MySQLのフィールド形式をBLOB型にする必要があるらしい。
で、おそらく解決。

なんで、あっちではvarchar(255)で問題がなかったかについては追求しない。
CREATE TABLE `ids_data` (
  `no` int(11) NOT NULL auto_increment,
  `uid` int(11) NOT NULL default '0',
  `title` tinyblob NOT NULL,
  `id` tinyblob NOT NULL,
  `pass` tinyblob NOT NULL,
  `opt1` tinyblob NOT NULL,
  `opt2` tinyblob NOT NULL,
  `url` tinyblob NOT NULL,
  `memo` blob NOT NULL,
  `filename` varchar(255) NOT NULL default '',
  `created` varchar(255) NOT NULL default '',
  `changed` varchar(255) NOT NULL default '',
  `click` tinyint(11) NOT NULL default '0',
  PRIMARY KEY  (`no`),
  KEY `uid` (`uid`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


CREATE TABLE `ids_tag` (
  `tid` int(11) NOT NULL auto_increment,
  `name` tinyblob NOT NULL,
  `uid` int(11) NOT NULL default '0',
  `count` int(11) NOT NULL default '0',
  `click` int(11) NOT NULL default '0',
  `vid` int(11) NOT NULL default '0',
  `timestamp` int(11) NOT NULL default '0',
  PRIMARY KEY  (`tid`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

もし使っている方がいたら、こんな感じに修正を。dataの方は全般的にblobやtinyblobに、tagの方はnameのところ。
CSVダウンロードを実装したら、次のバージョンに上げます。
コメント: ( )
name:
ログインしておくと、後で編集が可能になります。