Category / MySQL
【MySQL】GROUP_CONCAT()を使ってみる
2012-05-11 以下のようなテーブルがあるとします。 Aテーブル Bテーブル 以下のようなSQLを流すと、 SELECT A.id, GROUP_CONCAT(B.bname) as namae FROM A, B WHERE A.id […]
【MySQL】文字コードの異なるテーブルやデータベースが混在しているとき
2012-05-07 問題 MySQLで、文字コードの異なるテーブルやデータベースが混在していて、文字化け等でだいぶ悩まされている。 答え DBの情報(バイト列)がそのまま出力されれば、文字コードはなんでもよいので、以下のようにオプションを指 […]
【MySQL】「今月と来月」を表現する
2012-05-05 問題 ある日付型のカラムの値が「今月と来月」にマッチする行を取得したい。 解答例 SQLで書いた例。 SELECT * FROM T WHERE T.hoge_date >= date_format(now(), […]
【MySQL】シーケンス
2012-04-26 問題 MySQLにシーケンスある? 答え 同等のことはできる。でも意外と正しく使ってもらえないことがある。 公式ドキュメントでも紹介しているシーケンスのエミュレート方法のメモ。 1、シーケンス用のテーブルを作る 数値を入 […]
MySQL5.5をdebianにインストールする
2012-04-18 問題 MySQLの公式サイトで、Debian Linux用の mysql-5.5.23-debian6.0-x86_64.deb がダウンロードできるけど、これを使ってMySQLをインストールできますか。 手順 自分でコ […]
「phpMyAdmin の設定保存場所が完全に設定されていないため、いくつかの拡張機能が無効になっています」という警告を消す方法
2012-03-10 問題 phpMyAdminを設置してログインすると、「phpMyAdmin の設定保存場所が完全に設定されていないため、いくつかの拡張機能が無効になっています」という警告が出る。 気になるけどどうしたらよい? これ消せる […]
【MySQL】SQL_CALC_FOUND_ROWS と GROUP BY を同時に指定すると発生する不具合
2012-02-21 問題 こんなテーブルがありまして CREATE TABLE `buggy_sm` ( `id` int(11) NOT NULL AUTO_INCREMENT, `int1` int(11) NOT NULL DEFAU […]
【MySQL】 Got error 139 from storage engine → text, blobのカラムが多すぎ
2012-01-31 問題 MySQLでSQLを実行したら、こんなエラーが返ってきた。 Got error 139 from storage engine これは何? 答え 参考: InnoDBテーブル上の制約 VARCHAR、BLOB そし […]
【MySQL】ある郵便番号データ取り込みの風景
2011-12-27 とある郵便番号データ取り込みのメモです。 CSVをダウンロードしてくる 郵政公社からいただいてくる。 http://www.post.japanpost.jp/zipcode/download.html 全国のCSVと、 […]
【MySQL】Windows環境で開発用にさくっと稼動させる
2011-12-10 問題 php+MySQLの開発環境を作りたいんだけど、MySQLを動かすのって面倒かな? 答え インストーラー版(.msi)を使うと普通なので、あえてzip版でやってみる。 メリットは、サービスやレジストリの登録などが発 […]
【MySQL】InnoDB: Error: log file ib_logfile0 is of different size 0 5242880 bytes
2011-12-09 問題 MySQLが起動しないよ~。なんで? my.ini 編集したからかな。 解答例 エラーログを確認すること。 以下のようなエラーが出力されていたら、きっとInnoDB関連の設定を変えたのが原因。 InnoDB: Er […]
【MySQL】tmp_table_sizeを増やすときはmax_heap_table_sizeもセットで増やすこと
2011-11-24 問題 これどうするといいですか。 Created_tmp_disk_tables → 赤文字で警告(phpMyAdminの状態表示では) → ステートメント実行中にサーバがディスク上に自動生成した一時テーブル数。Crea […]
【SQL】管理番号と枝番号があるタイプのデータで最大の枝番号のデータを取得するSQL
2011-11-22 問題 管理番号と枝番号の2つでプライマリキーになっているタイプのデータで、枝番号が大きいほどバージョンが新しいデータなんだけど、枝番号が最大のデータだけ取得したい。 SELECT * FROM T WHERE KANRI […]
【MySQL】 !!が?(エクスクラメーションマークを2個つなげると動きがおかしい)
2011-11-10 問題 否定の否定をしたくて、エクスクラメーションマーク2つ使ったSQLを書いたら、結果がおかしかった。 mysql> select !!0; +-----+ | !!0 | +-----+ | 1 | +----- […]
【MySQL】 ALTER TABLE
2011-11-04 MyISAMやInnoDBに対してALTER TABLEを実行すると、以下のような動作をします。 テーブルをTL_WRITE_ALLOW_READロックする。(実行中対象テーブルは読み取り可、書き込み不可の状態) 新しい […]
【SQL】歯抜け見つかる?
2011-10-12 set @primary_key = 1; select @primary_key := @primary_key + 1 AS new_primary_key, CASE WHEN m.id = @primary_ke […]
【MySQL】InnoDBがクラッシュしたら
2011-09-25 InnoDBは通常、mysqldの起動時に自動修復を行うのですが、それが不可能な場合、エラーログに次のようなメッセージが記録されます。 InnoDB: You may have to recover from a bac […]
【MySQL】レプリケーションで”Error in Append_block event”のエラー
2011-09-15 問題 MySQLのレプリケーションを行っていたサーバーを置き換えたところ、スレーブ側で以下のエラーが発生しました。 Error in Append_block event: could not open file '/t […]
【MySQL】AUTO_INCREMENTの値が増える、飛ぶ、欠番が発生する
2011-09-10 問題 auto_incrementの値が飛び飛びになるんですけど。 答え MySQL5.1.22以降、InnoDBのAUTO_INCREMENTの性能が向上しましたが、それに伴って、AUTO_INCREMENTの連番が飛 […]
【debian】LAMP環境を作る
2011-09-05 問題 debianでLAMP環境作るには? 答え さっそく、さくっと。 1、Apache、MySQL、phpをインストール aptitude install apache2 php5 mysql-server php5- […]