勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

MySQLで歯抜けになっているint型の数値を取得する

      2014/05/22

MySQLで歯抜けになっているシーケンス番号を
取得したいケースがあった。

■ソース
SELECT MIN(seq + 1) AS min_no
FROM test_table a
WHERE NOT EXISTS (
SELECT seq
FROM test_table b
WHERE a.seq + 1 = b.seq
)

■参考サイト
http://okwave.jp/qa/q6093210.html

■その他
EXISTSて何? となったので調べたところ、
結果が存在するか調べる、というものらしい。

http://www.i2kt.com/dbms/sqlref/operator/logic/sql_02030501.html

NOTがついているから、抜け番があった際に
真になって、その抜け番が抽出されているみたい。

 - MySQL

  関連記事

MySQLでカラム内容によって条件分岐させたい

MySQLでカラムの内容によって条件を分岐させたかった。またPHPで処理するので ...

MySQLのエラーメール送付

MySQLエラーを取得してエラーメール送付。 <? error_repor ...

WordPressサイトのロードアベレージが高い

あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...

MySQLで速度改善

よく見るけど実際に対面してみて難しさが分かった。 150万件ほどのデータがあって ...

MySQLで同一サーバーの異なるDB内のテーブルをJOINする

同一のMySQLサーバーでdb1データベースのtable1テーブルと、db2デー ...

文字コードのutf8_general_ciとutf8_unicode_ciの違い

MySQLで設定する時に使っているサーバーによってデフォルトの文字コードがutf ...

MySQLで複数のコード及びスコアで検索して、スコアが無いものは0を取得する

やりたかった事は下記の通り。 ・ユニークなコードがあり、そのコードに対して複数の ...

MySQLのクエリキャッシュ設定

以前クエリキャッシュを設定していたけど、 これだとmysqlを再起動した時に再度 ...

MySQLのエラーログ取得関数

場合によってログに出力させたい値が異なる場合があったのでメモ。 function ...

phpMyAdminやAdminer上だけ文字化け

レンタルサーバーのプログラムでWebページ上では文字化けしていないのに、phpM ...