- 2024年10月
- 2021年5月
- 2020年8月
- 2020年6月
- 2020年5月
- 2019年1月
- 2018年8月
- 2018年6月
- 2018年5月
- 2018年3月
- 2018年1月
- 2017年12月
- 2017年11月
- 2017年10月
- 2017年9月
- 2017年8月
- 2017年7月
- 2017年6月
- 2016年11月
- 2013年9月
- 2013年8月
- 2013年6月
- 2013年5月
- 2013年4月
- 2013年3月
- 2013年2月
- 2013年1月
- 2012年12月
- 2012年11月
- 2012年10月
- 2012年9月
- 2012年6月
- 2012年5月
- 2012年4月
- 2012年2月
- 2011年7月
- 2011年5月
- 2011年4月
- 2011年2月
- 2010年12月
- 2010年11月
- 2010年10月
- 2010年9月
- 2010年8月
- 2010年7月
- 2010年6月
- 2010年5月
- 2010年4月
- 2010年3月
- 2010年2月
- 2010年1月
- 2009年12月
- 2008年2月
- 2008年1月
- 2007年12月
- 2007年5月
- 2007年4月
- 2007年3月
- 2007年2月
auto incrementの次の値を得る / magicien
MySQLでauto incrementの次の値を得る方法を調べた。Dark Horseのカウンターは今のところMySQLのauto incrementの値を使ってカウントしているわけです。で、IPアドレスを記録しておいて、重複カウントを防いでいるんだけど、一日毎に集計して別テーブルにカウントだけ保存、IPアドレスを保存するテーブルの値は消去してしまうため、データが空ってこともあり得るわけです。
そのときにSELECT MAX(カウント)としても、値は0になってしまうのです。
で、auto incrementの値はどこに保存されてるのかなぁと調べてみたところ、
SHOW TABLE STATUS FROM `テーブル名` WHERE `Name` = '列名'で、Auto_incrementの列にauto incrementの「次の値」が入ることが判明。ちなみに、MySQLのバージョンは5.0。他のバージョンはどうなのかわからんです。
この記事のURL: https://darkhorse2.0spec.jp/51/
2007/04/20(Fri) 01:10:17
SELECTで選ばれた行数を得る / magicien
LIMITで行数を指定していると、SELECT文に該当する行数が本当はいくつだったのかがわからない。LIMITを指定しないクエリを発行することで行数を得るという手もあるが、MySQLではもっといい方法があったのでメモ。行数を得たいSELECT文に「SQL_CALC_FOUND_ROWS」と書いておき、クエリを発行した直後に、「SELECT FOUND_ROWS()」とすると、LIMITを指定しない場合の行数が得られる。
SELECT SQL_CALC_FOUND_ROWS * FROM `table` LIMIT 0, 10; SELECT FOUND_ROWS();これで、余計なデータを取得することなく行数を得ることが出来る。
この記事のURL: https://darkhorse2.0spec.jp/33/
2007/03/11(Sun) 00:24:26
MySQLのFROM句のサブクエリ / magicien
MySQLをいじっていてつまづいたのでメモ。MySQLのクエリーがテストサーバでは動作したのに、本番のサーバではエラーが起きるという問題があった。どうやら文法のエラーが起きているが、何度見直しても正しい文法のはず。と思ったら、本番サーバのMySQL4.0では、FROM句にSELECT文を入れることができないようだ。FROM句にサブクエリが使えるようになったのはMySQL5.0かららしい。
この記事のURL: https://darkhorse2.0spec.jp/22/
2007/03/02(Fri) 23:54:20