mysql
mysql 5.1では↓こうらしい。主キーを変更する訳にはいかないんですけど mysql> desc juchuu; +-------------------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------…
mysqlの副問合せで、上位?件の平均を算出しようとしたら select avg(val) from (select val from measure_0_hour_day_201202 where member_id=1 order by val desc limit 3) ERROR 1248 (42000): Every derived table must have its own alias と、「きちん…
null値との四則演算結果は必ずnull MySQL のNULL ではまったことあれこれ - Slow Dance http://dev.mysql.com/doc/refman/5.1/ja/problems-with-null.html ↑この辺りに分かりやすく記載されていますが、null値との四則演算結果は必ずnull。 誰もが一度は引っ…
show tablesすると、953テーブルもあるサービスのmysqldumpを実行したら、次のようなエラーが発生しました。 $ mysqldump -u ないしょ -p ないしょ | gzip -c > ~/tmp/db.dmp.gz Enter password: mysqldump: Got error: 1016: Can't open file: './〜/〜.frm…
excelでは、「-.12」のように入力しても「-0.12」のように変換されることは知っていましたが、mysqlでも同様?のことができるとは驚いた。 create table test_val ( id int primary key AUTO_INCREMENT, val decimal(5,2) ); insert into test_val (val) valu…
http://d.hatena.ne.jp/end0tknr/20100603/1275557645以前、SQL::Translator に関するエントリを書いていますが、ある程度の規模のDBでは、テーブル間の関係をER図等で把握したいケースがあると思います。 私の周りでは、「1) visioでER図, excelでテーブル…
どうも、CHANGE COLUMN と MODIFY を混同してしまうので、整理。 列の追加 ALTER TABLE $table ADD COLUMN $col_name $type; 列の削除 ALTER TABLE $table ADD DROP COLUMN $col_name; 列の名前や型を変更 ALTER TABLE $table CHANGE COLUMN $old_col_name $…
知りませんでした。こんなに簡単にテーブル構造を含めてコピーできるなんて... create table ... selectを使用すると 既に存在しているテーブルと同じ構造のテーブルを作成する事ができる またデータもコピーされる 但し、インデックスやauto_incrementは新…
http://dev.mysql.com/doc/refman/5.1/ja/federated-storage-engine.htmlmysqlにそんなストレージエンジンがあるとは驚きました。 トランザクションをサポートしない等の制約があるようですが、そのうち使うことがあるかも。参考url http://thinkit.co.jp/fr…
http://dev.mysql.com/doc/refman/5.1-olh/ja/index-hints.html USE INDEX (index_list) テーブル内の行を検索するために、指定されたインデックスの 1 つのみを使用するよう MySQL に指示できます。: IGNORE INDEX (index_list) いくつかの特定の (1 つまた…
※以前、記載した mysql 5.1.30のinstall手順 http://d.hatena.ne.jp/end0tknr/20090130/1233288533colinux環境を壊してしまったので、mysql 5.5.11をinstallしようとしたら、configure時に次のようなerrorとなりました。 $ tar -zxvf mysql-5.5.11.tar.gz $ …
$ /usr/local/mysql/bin/mysqldump -u root -p \ --skip-lock-tables --order-by-primary db_name | gzip -c > db_name.dmp.gz $ gzip -dc db_name.dmp.gz | mysql -u root db_name -p※cygwinがあれば、windowsでも同様の操作が可能です。 (windowsにも、パ…
http://ameblo.jp/principia-ca/entry-10767163898.htmlサイバーエージェント公式エンジニアブログを読んで、改めてmysqlのリファレンスマニュアルを読んでみましたが、便利そうなoptionが多くありました。http://dev.mysql.com/doc/refman/5.1/ja/mysql-com…
mysql> delete juchuu_result -> from juchuu_result jr -> join juchuu_summary js on (jr.id=js.id) -> where jr.is_new_bukken=1 and js.admit_juchuu_user is null; ERROR 1109 (42S02): Unknown table 'juchuu_result' in MULTI DELETEと、怒られました…
http://dev.mysql.com/doc/refman/5.1/ja/partitioning-subpartitions.htmlmysqlでは、パーティショニングにより分割したテーブルを更に分割できるサブパーティショニングという機能があるそうですので、その手順を書き留めておきます。※mysqlのドキュメント…
innodbでは innodb_thread_concurrency = 同時接続数と思っていました サーバへのリクエストが増え、timeoutが発生した為、mysqlへの同時接続数を調べてみました。確かに Max_used_connections = 146 なんて値は見たことありません。 $ /usr/bin/mysqladmin …
mysqlでは、collate = utf8_unicode_ciを指定すると、大文字-小文字だけでなく、全角-半角を同一視できるそうですが、実際にどの文字が同一視されるのかを試してみました。 collateとは http://tetlist.info/2009/01/mysql ↑このエントリでも分かりやすく紹…
http://d.hatena.ne.jp/ZIGOROu/20091126/1259218194 http://dev.mysql.com/doc/refman/5.1/ja/information-functions.html#function_found-rowsmysqlって、SQL_CALC_FOUND_ROWS で LIMIT句なしで書かれた行数を取得できるんですね。 ということは、Data::Pa…
http://d.hatena.ne.jp/end0tknr/20090403/1238753081以前のエントリで、timestamp型のDEFAULTに関して記載しましたが、今回は update時の不思議?を記載しておきます。 尚、今回のtestでは、次のようなtableを使用します。 mysql> desc time_test; +--------…
以前のencodingは sjis(cp932)やらeuc-jp等、作るものによってバラバラでしたが、utf8に統一されるようになってきたので、備忘として書いておきます。http://search.cpan.org/perldoc?DBD::mysql以下のようにdb接続時に mysql_enable_utf8 を指定すれば、per…
DBD:a:mysqlをinstallする際、単純に実行すると、エラーで怒られてしまいます。例えば、perl Makefile.PLでは... $ cd DBD-mysql-4.010 $ /usr/local/bin/perl Makefile.PL Can't exec "mysql_config": No such file or directory at Makefile.PL line 76. …
「MySQL Server Instance Configuration Wizard」でエンジン変更 http://d.hatena.ne.jp/end0tknr/20090130/1233288533以前、srcからinstallしたlinux版mysql5.1のデフォルトストレージエンジンはMyISAMだったので、/etc/my.cnf の「default-storage-engine …
前回までに1台の複数のmysqlを起動する方法を紹介しましたが、今回は、それらで双方向(マルチマスタ)レプリケーションを行う方法を紹介します。 my.cnf と my2.cnf 私のcolinux環境ではオプションファイルを切り替えることで、複数のmysqlを起動していますが…
mysqlのドキュメントでは、次のように複数のmysql起動手段として再?コンパイルを紹介していますが、設定ファイル(my.cnf)を複製すれば、複数のmysqlを起動できるようです。http://mirror.hostfuss.com/mysql/doc/refman/5.1/ja/multiple-unix-servers.html U…
mysqlのinstallが完了したので、今回はDBD::mysqlでperlからmysqlへの接続方法を紹介します。 DBD::mysqlのinstall $ /usr/local/bin/perl Makefile.PL \ --mysql_config=/usr/local/mysql/bin/mysql_config \ --testdb=endo_test \ --testuser=endo \ --tes…