開発メモ,主に補足by子連れ親父プログラマー

2011-01-18

MySQLで、ログイン用のメールアドレスなんかはバイナリー属性にしてテーブルを作る

なんかなー、デフォルトで大文字小文字区別しないってことが問題なんじゃないの?
って気はするけどなー。
普通にこういうテーブルを作る。
CREATE TABLE samples (
  id INT,
  email VARCHAR(255)
);

emailは大文字でも小文字でもヒットする。
バイナリー属性を付ける。
CREATE TABLE samples (
  id INT,
  email VARCHAR(255) binary
);
emailは大文字は大文字、小文字は小文字でヒットする。
show で見るとこんなになってる。

CREATE TABLE `samples` (
  `id` int(11) default NULL,
  `email` varchar(255) character set utf8 collate utf8_bin default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

ううむ。。。

このブログを検索

Powered by Blogger.

ラベル

php (17) jQuery (13) OSX (10) MySQL (8) Javascript (7) Postgres (7) port (7) apache (6) Java (3) Smarty (2) html (2) pear (2) FCKEditor (1) XAMPP (1) css (1) git (1) perl (1) ruby (1)

Facebookバナー