MySQL

SETのvaluesに空文字が含まれていると

mysql> CREATE TABLE hoge (id INTEGER PRIMARY KEY AUTO_INCREMENT, s SET('foo', 'bar', '') NOT NULL DEFAULT ''); Query OK, 0 rows affected (0.02 sec) mysql> DESCRIBE hoge; +-------+---------------------+------+-----+---------+---------------…

libeditのCLIで履歴をインクリメンタルサーチする

homebrewで最新版入れていたら、いつの間にかMySQLのCLIでCtrl-Rでのコマンド履歴のインクリメンタルサーチができなくなっていた。 最近のMySQLのCLIはreadlineではなくlibeditを使うようになっているようで、それが原因らしい。 ~/.editrcに mysql:bind '^R…

SQL::Translator::DiffでDBスキーマに追従させる方法

#5「GitDDLまじイノベーティブ」 tech.kayac.com Advent Calendar 2012 | tech.kayac.com - KAYAC engineers' blog が便利そうだなーと思って。 でもGitと絡めなくても、Webアプリにおいて「現在の環境で使用するデータベース」と「有るべきスキーマの状態を…

MySQLのコマンドたち

http://mysql-casual.org/2011/11/mysql-casual-advent-calendar-2011.html の6日目の記事として書かせていただきます、sugyanです。 勢いで参加表明してしまい、今日慌てて久しぶりにMySQLを触りました。 MySQLでFizzBuzz ストアドプロシージャって使ったこ…

MySQL Casual Talks Vol.2に行って来た

http://partake.in/events/83788d9d-5e2a-4464-8638-5b899d1a2737 前回に引き続き今回も参加。やはりCasualっぽい内容ではないかんじで懇親会も濃い人たちが集まっていて楽しくてすごい会でした。 懇親会では@kamipoさんと@matsunobuさんの会話をひたすら聴…

MySQL Casual Talks vol.1 に参加してきた

MySQL Casual Talks vol.1 : ATND 業務でmysqlに触り始めて一年弱の素人だけど、"casual"だしなんとかついていける内容かなーと期待しつつ行ってみたら、濃い内容ばっかりで愕然としました…! が、やはりそれくらいのことを知っていてちゃんとチューニングし…

MySQLのVARCHARサイズについて

MySQLのVARCHARサイズについて - Togetterまとめ Twitterすごい。Togetterべんり。

MySQLのインデックスの効果を理解する

CREATE TABLE `fuga` ( `id` int(10) unsigned NOT NULL auto_increment, `category` int(11) NOT NULL, `name` varchar(40) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; のようなテーブルを用意して、0〜9999までのランダムなcate…

MySQLのSET型をDBIx::Classから使ってみる

sugyan 複数のチェックボックスからの入力を受けてDBに格納する場合って普通どういう風にするものなんだろう?各チェックボックスに対応するTINYINTカラムを作る?項目ごとにビット割り当ててINTでまとめる?MYSQLだとSETというのがあるみたいだけど 2010/03…

mysqldumpを使って異なる文字コードのDBへテーブルを移行

デフォルトで"latin1"を使い続けていたDBのtableを、全部"utf8"に変更しようとした。 my.cnfで変更する前にmysqldumpでtable情報を取得しておき、my.cnfを変更、再起動。 すると日本語の部分が読めなくなる。 ここでdumpから復元しようと $ mysql -u hoge -p…

MySQLの文字コード

色々と苦戦しながらMySQLの文字コード設定を変更。 参考にするのはこういったページ。 http://wota.jp/ac/?date=20061011 http://www.revulo.com/blog/20060518.html など。 ポイントとしては、my.cnfを編集して [mysqld] default-character-set=utf8 skip-c…