MySQL
phpmyadminが良く分からないエラーを出すので代替を探す タイトル 配布元 概要 備考 SQL Buddy http://www.sqlbuddy.com/ ajaxを使ったUI うまくログインできない phpminiadmin http://phpminiadmin.sourceforge.net/ ファイル1個 使い勝手はいまいち phpmin…
普通に出力すると、罫線で囲まれて出力される $ mysql -Ne 'SELECT * FROM hoge' +------+---------------+-----------+ | 1 | 10.10.10.1 | CB0000002 | | 2 | 10.11.10.100 | C80000002 | | 3 | 10.10.10.3 | CF0000001 | +------+---------------+-------…
REPLACE INTO は基本的に削除して追加する。 UPDATEではないので、書いていない項目は全て初期値になる。 しかし、ユニークキーが2つ以上あるときはおかしな挙動になる。 主キーは大体AUTO_INCREMENTなので、その前提で検証する。 id ukey data1 data2 1 A a…
インデックスでもデータそのものでもとにかくサイズが大きいのを並べてみる。 $ ls -lhSr *.{MYD|MYI} | tail -n 20
複数カラムでユニークキーを作りたいとき、重複があるとエラーになる mysql> ALTER TABLE hoge ADD UNIQUE (a,b,c); ERROR 1062 (23000): Duplicate entry 'aiueokakikukekoaaaaa' for key 2 IGNOREをつけると、重複したカラムは最初の分だけ採用されて正常…
mysql> show variables like "char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | ujis | ○ ● | character_set_connectio…
mysqldumpするとき、--skip-quote-namesオプションをつけてもクォートされる文字列がいくつかあるっぽい。 CREATE TABLE recvlog ( `time` timestamp NOT NULL default CURRENT_TIMESTAMP, `no` int(11) NOT NULL, `data` blob, `date` datetime default NUL…
コネクションをオープンして放置していると、一定時間でセッションが切られてしまう。 システム開発の備忘録 | MySQL - sleepプロセスが溜まる MySQL のコネクションタイムアウトと削除されたプロセスのコネクションの残留 | さくらたんどっとびーず set-va…
EUC-JPの時代に作ったプログラムをUTF-8なサーバに移植するときとか用。 /etc/sysconfig/i18n の設定 可能ならシステム全体をEUC-JPに統一する。 LANG="ja_JP.EUCJP" /etc/my.cnf の設定 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock …
文字列のカラムを数値と比較すると、文字列は自動的に数値にキャストされる。 だいたいは 0扱いになるので 0と比較することになり、マッチしてしまう。 1 Prepare [1] SELECT * FROM hoge WHERE str=? 1 Execute [1] SELECT * FROM hoge WHERE str=0 PDOでバ…
OracleでMySQLのLimit句みたいのをやる。 (Study02.net) MySQLとかにあるLIMITをなるべく原型を留めてOracle用に書き換える SELECT a,b,c FROM hoge ORDER BY a LIMIT 10,20; ↓ SELECT * FROM ( SELECT rownum rnum, tmpt.* FROM ( SELECT a,b,c FROM hoge O…
$sql='SELECT * FROM user_table WHERE uid=:uid OR child_uid=:uid'; $sth = $dbh->prepare( $sql ); $sth->execute( array('uid'=>$uid) ); こんな感じで同じパラメータを使いまわすことは出来ない。 このまま実行すると後ろの方のパラメータは0とか''の扱…
× SELECT COUNT(*) FROM hogelist GROUP BY hid; ○ SELECT COUNT(DISTINCT hid) FROM hogelist;
> SHOW SLAVE STATUS\G Slave_IO_State Connecting to master Master_Host 192.168.0.131 Master_User test Slave_IO_Running No Slave_SQL_Running Yes Slave_IO_Running が No なので、動作していないのは確定的に明らか Slave_IO_State がずっと Connecti…
定番の SET NAMES 'utf8'; 接続時に自動的に打たせるときには [mysqld] に追記するとよい default-character-set = utf8 init-connect = "SET NAMES 'utf8'"参考にさせていただいたページ:http://hain.jp/index.php/tech-j/2007/09/18/p167