MySQL 5.0
: シナイ山 [P2] 04/04/13 10:02ID:??? このスレッドの執筆時には、まだバージョンもアルファ段階で正式リリースされる まで程遠いが、これから新しい機能を試してみたいとかボラクルに取って代わり 低コストで次世代データベース開発のために利用したいエンジニアは今こいう時だから こそver.5.0に着目したいところだ。 5系がまだアルファ段階だからといって敬遠するの良いが、テストマシン上で独自に開発を して、テストマシン等で実運用するのも一つの道であろう。 開発の成果は、MySQLやOpenBSDに随時報告することが重要だ。 : NAME IS NULL [] 04/04/13 10:29:by4C3cBC 2グッシ! : NAME IS NULL [] 04/04/13 16:12:vsQHurnf MySQL 5.0 テスト運用ではなく 個人情報(クレジット情報含む)のデータベースとしてバリバリ本稼動させてます : NAME IS NULL [] 04/04/13 16:57:by4C3cBC よっ、漢! : NAME IS NULL [sage] 04/04/13 19:47ID:??? @ITの今日の記事見てきたけど 4.1からユニコード使えたっけ? 4.1か5の区分も棒グラフでわかりづらいのだが・・・。 当方4.1ではJavaでMS932のデータは格納できず Shift_JISのみ格納できると結論付けているが・・・。 認識違いだったらスマソ。 : NAME IS NULL [] 04/04/13 21:20:+9bcE52b どっかの会社から受けたオンラインショッピングでも作ってんの? : NAME IS NULL [sage] 04/04/14 16:17ID:??? 部分的な不具合はアルファだから残ってるけど、 機能として盛り込むという点ではMySQL4.1から ttp://http://dev.mysql.com/doc/mysql/en/Nutshell_4.1_features.html : 5 [sage] 04/04/14 17:29ID:??? レスありがとん。実は勘違いしてました。 4.1じゃなくて4.0はおろか3.2356で動かしてた。 音符が入るのに何でかっこ株入らんのかいな? ってひとりで混乱してた・・・。失礼しました。 : NAME IS NULL [] 04/04/15 10:32:Cwu6yyaA 5.0使つてみたが、特にこれといつたバグは見つからんかったな。日本語を扱ふときはEUC-JPで良いんだろ。レコード単位でのロックは、だふしたら良ゐのかな。 : 5 [sage] 04/04/16 17:28ID:??? 失礼しました。DBのキャラクタセットsjisでした(泣 プログラムでEUC-JPに変換したときと DBの設定でEUC-JPにしたときの違いなどが認識不足でした。 そのあたりも含めて 総合スレに逝ってログ見て勉強しなおしてきます・・・。 : NAME IS NULL [] 04/04/18 14:09:sQJEfw06 問題は一つのテーブルにつき何行まで対応しているかだな。 : NAME IS NULL [sage] 04/04/23 03:21ID:??? >1 ところでなんでOpenBSDに報告なんですか? : NAME IS NULL [] 04/05/06 05:40:ULwWMwcJ 5.0が正式にリリースされるのは何時頃よ。 : NAME IS NULL [] 04/05/06 06:37:5ufiEJ69 来週MySQL ABの社長が日本に来るから聞いてみたら。 : NAME IS NULL [sage] 04/05/08 01:17ID:??? それより何より、レプリケーションですよ。 マルチマスタが出来ないと、実際の運用が厳しい。 はやく組み込まれないかなぁ : NAME IS NULL [] 04/05/19 02:24:1/NWDgMc MySQL ABは何故、この先一般大衆に広まるまで相当な時間を有するであろ4.1とか5.1を敢えて開発という名目で出したのか分からん。 : NAME IS NULL [] 04/06/08 22:40:Azn6jyNs 5.0以降は、オラクル並みの機能を備えたDBMSになるのかなぁ。 : NAME IS NULL [sage] 04/06/09 22:56ID:??? どうかな? でもSAP DBにある機能は付くんじゃないの? : NAME IS NULL [] 04/08/28 17:55:z9RoUx+F 質問させてください。 version: 5.0.1-alpha-standard-log を使用しています。 stored procedureの機能を確かめたくて使ってみたんですが、procedureがcall出来ません。 例) delimiter // CREATE PROCEDURE test() BEGIN SELECT "hoge" as hage; END // delimiter ; -- として、 call test(); としたら、 ERROR 1304 (42000): PROCEDURE hoge.test does not exist となります。 show procedure status; で確認すると hoge DBに test procedureは存在します。 どういう事なんでしょうか? #ちなみにdrop procedureも同様のエラーで動作しません。 : NAME IS NULL [sage] 04/09/19 15:31:24ID:??? delimiter // Drop procedure IF EXISTS test // CREATE PROCEDURE test() BEGIN SELECT "hoge" as hage; END; // call test()// : NAME IS NULL [sage] 2005/04/02(土) 15:58:58ID:??? そろそろβ? : NAME IS NULL [sage] 2005/04/07(木) 00:30:41ID:??? もうベータ : NAME IS NULL [sage] 2005/09/02(金) 23:27:21ID:??? もうそろそろ出そうなふいんきなわけだが、新機能についてまとめてあるページない? : NAME IS NULL [sage] 2005/09/03(土) 00:38:39ID:??? これじゃ駄目なん? ttp://dev.mysql.com/doc/mysql/en/mysql-5-0-nutshell.html : NAME IS NULL [sage] 2005/09/03(土) 01:12:06ID:??? ふーん。 普通のDBMSになるんだなw その分スピードが犠牲になるんだろうなぁ。 : NAME IS NULL [sage] 2005/09/03(土) 12:39:32ID:??? 新機能を使わなきゃスピードが犠牲になったりはしないんじゃね? そういう感じの拡張になってたはずだけど。 : NAME IS NULL [sage] 2005/09/13(火) 22:47:40ID:??? テーブル形式で各々が使うファイルとロジックが完全に分離されている。 だから、唯一定評のある MyISAM の速度はほぼ昔のままだよ。 といっても SQL の解析ロジックは 4.1 以降拡張されてるけどね。 とりあえずソースファイル嫁。 : NAME IS NULL [] 2005/11/05(土) 23:07:24:urZZ/Ba6 エクセルVBAでMYSQLと接続する方法を教えてください。 ODBCドライバ使えばできるらしいのですが、 私が持ってるVBAの本にはまるでかかれてません。 : NAME IS NULL [sage] 2005/11/05(土) 23:49:23ID:??? >28 ttp://http://www.amazon.co.jp/exec/obidos/ASIN/4861670136/qid=1131202033/sr=8-1/ref=sr_8_xs_ap_i1_xgl/249-1853259-3047516 買ってね : NAME IS NULL [sage] 2005/11/06(日) 14:43:22ID:??? この板から消えろ 馬鹿すぎ 28 名前: NAME IS NULL Mail: 投稿日: 05/11/05(土) 23:07:24 ID: urZZ/Ba6 エクセルVBAでMYSQLと接続する方法を教えてください。 ODBCドライバ使えばできるらしいのですが、 私が持ってるVBAの本にはまるでかかれてません。 50 名前: NAME IS NULL Mail: 投稿日: 05/11/05(土) 23:07:55 ID: urZZ/Ba6 エクセルVBAでMYSQLと接続する方法を教えてください。 ODBCドライバ使えばできるらしいのですが、 私が持ってるVBAの本にはまるでかかれてません。 763 名前: NAME IS NULL Mail: 投稿日: 05/11/05(土) 22:51:01 ID: urZZ/Ba6 エクセルVBAでMYSQLと接続する方法を教えてください。 ODBCドライバ使えばできるらしいのですが、 私が持ってるVBAの本にはまるでかかれてません。 : NAME IS NULL [sage] 2005/11/11(金) 04:07:24ID:??? そういえば、いつだかのWindows Updateから、MS-AccessからMySQLのODBC 使えなくなったのって、今は直ってるのかな。 ちょっとまえは、Window UpdateであがってしまったMDACのバージョンを元に戻せ、 という話しか見つからなかったが。 会社で使おうと思ったとき、会社のPCのセキュリティポリシーから、MDACのバージョン 古いのを使うわけにはいかず、MySQLを使うのをあきらめたものもある。 : NAME IS NULL [sage] 2005/12/03(土) 00:20:59ID:??? つ M$のいやがらせ : NAME IS NULL [] 2005/12/08(木) 20:43:31:q4xs/OQo マク版エクセル、ダメ元でMySQL繋いだらイケた。 MS製なのにiODBC使ってるのが泣かせる。 : NAME IS NULL [sage] 2005/12/24(土) 23:02:01ID:??? mysql-5.1.4-alpha-win32テスト運用中で MyODBC-3.51経由でアクセスしてるんだけど マニュアル読んで、 c:\my.cnf [mysqld] skip-character-set-client-handshake default-character-set=cp932 とかやっても"ソ表"みたいに2バイト目が\な文字が化ける。 良く分らん。 : NAME IS NULL [] 2005/12/25(日) 06:18:30:CfwKIhPw grantでユーザを作りました。 use mysql; select USER();してもrootしか表示されず、 作ったユーザが表示されませんでした。 mysql5は故障してますか? : NAME IS NULL [sage] 2005/12/26(月) 01:26:00ID:??? select * from user; : NAME IS NULL [] 2006/01/05(木) 23:18:54:DdseHqzl select count が遅いのですが、仕様ですか? : NAME IS NULL [sage] 2006/01/05(木) 23:34:25ID:??? where句に何か書いてる? あと、innoDB? MyISAM? : NAME IS NULL [sage] 2006/01/06(金) 00:20:01ID:??? innoDB にしてます。 where句は、書いても書かなくても変わりませんでした。 : NAME IS NULL [sage] 2006/01/06(金) 22:39:18ID:??? ttp://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html の真ん中へんにあるように、InnoDBはrowの数を保持してないのですよ。 (MyISAMは保持してるので速い) >To get a fast count, you have to use a counter table you create yourself >and let your application update it according to the inserts and deletes it does. とか書かれちょります。 あとは「更新頻度が低いならクエリキャッシュを使え」とか、 正確でなくていいならSHOW TABLE STATUSを使うのもいいんじゃねとか、そんな感じ。 MyISAMのほうが速いのを利用して、レプリケーション先をMyISAMにして そっちでcount(*)する技もないではない。 お好きな方法をどうぞ。 : 37 [sage] 2006/01/06(金) 23:41:12ID:??? お調べいただいて、ありがとうございます。 LOAD DATA した後に確認したかったんですが、 それほど重要なデータでもないので、しばらくは SHOW TABLE STATUSで確認することにします。 : NAME IS NULL [sage] 2006/01/11(水) 08:31:16ID:??? ※重要 我々のファウソダーは15糞ルールというのを守り続けています。 それは15糞以内に、ダウンロード、インストール、使用ができることです。 これ以上かかるようならトイレに流してください。 : NAME IS NULL [] 2006/01/12(木) 21:40:53:7YlGT1cD 差・共通集合演算は未対応ですか : NAME IS NULL [] 2006/03/25(土) 21:53:39:Kbd6Xz91 ISAM可愛いよぼくのISAM : NAME IS NULL [sage] 2006/03/25(土) 22:50:36ID:??? 今更ISAMなんて使うんじゃねーよ。 MyISAMの何が不満なんだよ! : NAME IS NULL [sage] 2006/03/25(土) 23:31:10ID:??? あんた野暮だね : NAME IS NULL [sage] 2006/03/26(日) 12:38:02ID:??? いや、マジで困ったんで。。。>今更ISAMな奴 : NAME IS NULL [sage] 2006/03/27(月) 06:35:22ID:??? InnoDB可愛いよぼくのInnoDB : NAME IS NULL [sage] 2006/03/27(月) 22:50:10ID:??? InnoDBはOracleに乗っ取られますた。 : NAME IS NULL [sage] 2006/03/27(月) 23:17:35ID:??? 野暮ついでだがそこは InnoDBの何が不満なんだよ! のtypoかと思はれ : NAME IS NULL [] 2006/05/13(土) 17:55:43:NPZBoiQ0 おっす!オラ悟空 MySQL 4 から MySQL 5 へのデータベースの移行は 一度フルダンプして持って行くことになるのかな? : NAME IS NULL [sage] 2006/05/13(土) 22:49:18ID:??? 4.1ならそのままで大丈夫だと思う。 4.0なら、文字コードの扱いによってはそのままで大丈夫なはず。 ここが参考になると思います。 ttp://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_40 : NAME IS NULL [sage] 2006/05/16(火) 21:18:10ID:??? JavaサーブレットからMySQLに接続するプログラムを作成しているのですが、 上手く接続出来なくて困っています。 以下ソース Class.forName("org.gjt.mm.mysql.Driver"); Connection conn=DriverManager.getConnection( "jdbc:mysql://localhost/user_db", "", "" ); 上記のようなソースで、connがnullになってしまいます。 環境は OS・・・centOS 4.3 jdk・・・1.5.0_06 Apache・・・2.0.54 Tomcat・・・5.5.16 JDBC・・・mysql-connector-java-3.1.12-bin.jar です 御教授の程、宜しくお願いします。 : a [] 2006/05/20(土) 20:48:09:QcPxt9BR ユーザー名とパスワードはNULL? あと、接続処理部分だけをコピペしてテスト用のクラスを作って実行して、 そのエラーメッセージは確認した? : NAME IS NULL [sage] 2006/05/20(土) 22:25:22ID:??? C言語で作成したプログラムでデータ挿入、取得しています。 Shift-Jis文字列のデータを挿入し、mysql_fetch_rowで取得しましたが、 Shift-Jis文字ではないものが返ってきているようです。 Shift-Jis文字で取得する方法はないでしょうか? : 55 [sage] 2006/05/20(土) 23:49:39ID:??? 解決しました。 プログラムのくだらないバグでした。 とくになんの設定もなく取得できました。 : 53 [sage] 2006/05/21(日) 13:55:45ID:??? レスありがとうございます ttp://www.mysql.gr.jp/mysqlml/mysql/msg/8552 上記の掲示板の内容を見ながら、同じように ユーザ名とパスワードを入れて、 localhostの部分をcentosのPC名(ホスト名かな)に変更したら接続出来ました : NAME IS NULL [] 2006/06/22(木) 04:15:08:1d2hPd6+ だめだ、MySQLサーバがまたダウンorz どっか年3万以内でMySQLがある程度快適なレンタルサーバ知らない? : NAME IS NULL [sage] 2006/06/22(木) 20:16:28ID:??? 356 名前: NAME IS NULL Mail: 投稿日: 2006/06/22(木) 04:15:41 ID: 1d2hPd6+ だめだ、MySQLサーバがまたダウンorz どっか年3万以内でMySQLがある程度快適なレンタルサーバ知らない? 357 名前: NAME IS NULL Mail: sage 投稿日: 2006/06/22(木) 04:19:30 ID: ??? ロリ。サーバー1台じゃないが。 358 名前: 356 Mail: 投稿日: 2006/06/22(木) 11:48:29 ID: AgHOUkWe レスTHX。 実はいま使ってるのがロリ。。。orz MySQLはさくらとかの方がいいのかな? 359 名前: NAME IS NULL Mail: sage 投稿日: 2006/06/22(木) 13:07:06 ID: ??? ロリポップはレスポンスが悪いので、移転中です。 移転先はさくら。 年6,000円。 : aux [] 2006/06/23(金) 10:43:13:o9+fL5i2 FedoraCore5のMySQLのバージョンは調べた結果5.0.18でした これからFC5を使いたいと思っています yum update すると MySQLのバージョンはいくらに更新Sれるでしょうか? : NAME IS NULL [] 2006/06/24(土) 10:43:28:l1e0xhoR おいおい、まだ匿名ユーザ消してないのかよ。 この状況を理解してる? さっさと匿名ユーザを消したソースを配布白。 15分ルールとか言ってるぐらいならくだらんことさせるなよ。 : NAME IS NULL [] 2006/08/08(火) 04:58:39:Fb/yQmu1 誰か、俺の質問を受けてくれないかな? root のパスワードを設定したんだ。しかし、その後なぜか拒否される。 それで、mysqlを確認してみようと思いmysqlユーザで接続した。 [root@localhost etc]# mysql ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) [root@localhost etc]# mysql -u mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 4.0.25-standard Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show databases; +----------+ | Database | +----------+ | test | +----------+ 1 row in set (0.00 sec) mysql> あれ、mysqlデータベースがないじゃないか! さて、どうしたらいいんだおるか? : NAME IS NULL [sage] 2006/08/08(火) 09:46:10ID:??? # mysql -u root -p : NAME IS NULL [] 2006/08/09(水) 22:41:11:MhvThrSV MySQLにあるデータベースのテーブルをAccessでを表示させようとするのですが ODBCでデータソースを作ってテスト接続もOKなのにテーブルを表示しようと するとエラーになります。 MySQLはVersion5でAccessは2002なのですが何か設定でもあるのでしょうか? 教えてほしいです。お願いします。 : NAME IS NULL [sage] 2006/08/09(水) 22:43:53ID:??? 通りすがりのエスパーですが、何のエラーなのか透視できませんでした : NAME IS NULL [sage] 2006/08/09(水) 22:49:50ID:??? エラーを書くのを忘れていました…。 エラーなのですが ODBC--呼び出しが失敗しました。 [MySQL][ODBC 3.51 Driver]User cancelled.(#0) と表示されます。 どうすればいいのでしょうか? : NAME IS NULL [sage] 2006/08/10(木) 14:42:07ID:??? その前に、マルチはやめろ ttp://pc8.2ch.net/test/read.cgi/db/1148936556/950 : NAME IS NULL [] 2006/09/17(日) 02:16:29:mk6QgbEu age : 悩み人 [] 2006/10/19(木) 00:47:56:T6+foHou PHPからMYSQLに接続したいのですがどうしてもつながりません。 mysql_connect関数を使い接続しようとしたのですが、 Call to undefined function mysql_connect() というエラーが出て、接続できません。誰かわかる方教えてください。 : NAME IS NULL [sage] 2006/10/19(木) 10:51:08ID:??? >69 マルチやめれ ttp://pc8.2ch.net/test/read.cgi/db/1123011800/287-289 : NAME IS NULL [sage] 2006/10/19(木) 10:52:36ID:??? 俺にはが馬鹿だという事しかわからない : NAME IS NULL [sage] 2006/10/19(木) 22:11:52ID:??? それで充分 : NAME IS NULL [sage] 2006/10/20(金) 08:08:13ID:??? エラー嫁 : NAME IS NULL [sage] 2006/10/31(火) 11:11:17ID:??? 断る! : NAME IS NULL [sage] 2006/10/31(火) 14:35:15ID:??? エラーは嫁にしたくない : NAME IS NULL [] 2006/10/31(火) 15:21:41:/92qbdm8 質問おねがいいたします。 昇順ソートでnullのレコードを最後にしたいのですが Select * from tablename order by field desc nulls first/last mysqlでは語尾のコマンドが指定できませんか? case文を書いてやらねばならないんでしょうか? : sage [] 2006/10/31(火) 15:23:38:/92qbdm8 すみません。descはascの間違いです : NAME IS NULL [sega] 2006/10/31(火) 16:20:52ID:??? 使い終わったら mysql_free_result を呼ぶ ってのは 習慣づけた方がいい? どうでもいい? : NAME IS NULL [sage] 2006/10/31(火) 22:23:41ID:??? すぐ終わるプログラムならどうでもいい。 ずっといすわるプログラムで mysql_free_result を呼ばなければメモリリーク。 : NAME IS NULL [age] 2006/11/01(水) 13:01:28ID:??? httpで受けわたされた title, player, yearをそれぞれデータベースに挿入したいのですが、 下記のやり方ではうまく行きません。 $query = "insert into cds (titel, interpret, jahr)"; $query .= "values ({$_GET['title']}, {$_GET['player']}, {$_GET['year']});"; 恐らく二行目が悪いとは思うのですが…… ご教授お願いします。 : NAME IS NULL [sage] 2006/11/01(水) 15:24:57ID:??? php使いって裾野が広いんだなぁとw : NAME IS NULL [sage] 2006/11/01(水) 18:03:59ID:??? cygwinのC言語でmysqlを使いたいのですが質問です。 cygwinのC言語で、winsowsにインストールしたmysql を使いたいんですが、これは難しいでしょうか? ネットで調べているんですが、cygwin環境でmaysqlをビルドして、 Cのライブラリをリンクすればできるようなことが 書いてありましたが、cygwin環境でmysqlをビルドできたという ページが見つかりませんでした。 mysqlのメーリングリストのログもcygwinで検索したんですが、 できてなかったみたいです。 mysql徹底入門でビルドの仕方みて、自分もやってみようと思いますが、 初心者なのでもっと無理と思います。 cygwinのperlからだと難しく無いんですが。PostgreSQLはcygwin版がありますし。 なにか方法ありましたらご教授お願いします。 : NAME IS NULL [sage] 2006/11/01(水) 19:00:56ID:??? ところで、MySQL総合スレNo10をたてる人はいないのか? それとも、ここを総合スレNo10で消化するのか? : NAME IS NULL [sage] 2006/11/01(水) 19:22:41ID:??? cygwin使っているやつに聞いたほうがいいじゃないか。 Cygwin使っている人いますか? その17 ttp://pc8.2ch.net/test/read.cgi/unix/1154022733/ : NAME IS NULL [sage] 2006/11/01(水) 19:57:26ID:??? ありがとうございます。 行ってみます。 : NAME IS NULL [sage] 2006/11/01(水) 20:20:39ID:??? つ ttp://inagi.himitsukichi.com/~aozora/cgi-bin/pukiwiki/pukiwiki.php?mysql%A4%F2%A5%B3%A5%F3%A5%D1%A5%A4%A5%EB つ ttp://www.his.kanazawa-it.ac.jp/~idurumi/blog/archives/001105.html : NAME IS NULL [sage] 2006/11/01(水) 21:53:18ID:??? 1行目こそタイポだらけw : NAME IS NULL [sage] 2006/11/01(水) 21:58:09ID:??? どううまくいかないのかの根拠を具体的に提示すること : NAME IS NULL [sage] 2006/11/01(水) 22:14:14ID:??? ありがとうございます!!! すごい感謝です。 1ヶ月ぐらいcygwinのc言語からmysql使えたらいいなー。 と思ってました。 cygwinのコンパイルのエラー回避できる方法あるんですね。 違う紹介していただいたページには、mysqlはWIN32バイナリを使うようにして、 コンパイルはライブラリを作って使うためにだけ、にした方が良いともありますね。 っていうことは、cygwinにそのライブラリをリンクしてC言語を使うと、 windowsにインストールしたmysqlが使えるということなんでしょうか。 なんとなく不思議な感じですが、これができるとほんとうれしいです。 とにかく手がかり教えていただいたので試してみます。 : NAME IS NULL [sage] 2006/11/02(木) 17:27:34ID:??? 89です。 ソースをコンパイルしてライブラリができますが、 それをリンクして、cygwinのgccでmysql徹底入門のサンプルプログラムを コンパイルしたらできました。 windowsにインストールしたmysqlに接続してみると データも正常に追加できました。 cygwin板に引っ越しましたが、ご報告させていただきました。 ありがとうございました。 : NAME IS NULL [] 2006/11/03(金) 13:39:40:yhlGh22Y サーブレットからMySQLサーバにアクセスするために、MySQL用のJDBCドライバをインストールしようとして、 ? ttp://http://www.mysql.com/downloads/connector/j/ ?から mysql-connector-java-5.0.4-bin JARファイルをダウンロード してきましたが、本には%CATALINA_HOME%/common/lib にコピーする ように書いてあるのですが、該当ディレクトリが存在しません。(古い本のせいでしょうか。)どこにコピーしたらよいのかわからず途方にくれています。どなたか教えてください。よろしくお願いします。 : NAME IS NULL [sage] 2006/11/03(金) 16:02:31ID:??? 泣けるぜベイベー : NAME IS NULL [sage] 2006/11/03(金) 18:19:19ID:??? Extensionsのディレクトリに置けばよい。 それでもわからなければ、下のあたりのスレで聞けば? くだすれJava(超初心者用) ttp://pc8.2ch.net/test/read.cgi/tech/1126470659/ : NAME IS NULL [] 2006/11/03(金) 22:21:31:neaGXfY6 >>93 レスありがとうございます。行ってみます。 : NAME IS NULL [] 2006/11/04(土) 10:03:36:ww13bNDf 単発の書き込みならロックは不要? : NAME IS NULL [sage] 2006/11/04(土) 10:13:33ID:??? なわけ無いじゃん。 : NAME IS NULL [] 2006/11/04(土) 10:25:26:ww13bNDf 下のサイトに書いてある意味は違うのかな? 「更新を1回のクエリでしか実行しないのであれば、 書き込みロックは不要。」 ttp://http://www.ecoop.net/memo/cat_mysql.html : NAME IS NULL [sage] 2006/11/04(土) 19:07:11ID:??? ロックが不要も何も、MyISAMは書き込みする際にテーブルロックしちゃうぞ : NAME IS NULL [sage] 2006/11/04(土) 19:57:36ID:??? エンジンとして、InnoDBじゃなくてBDBを使うメリットってあるん? パフォーマンスがBDBの方がいいとか? : NAME IS NULL [] 2006/11/04(土) 20:29:19:P36/CUPW ロックするつうか、クエリーってのは アトミックなものじゃないのか? : NAME IS NULL [sage] 2006/11/05(日) 00:22:28ID:??? InnoDBは行レベルロック、BDBはページロック InnoDBのほうが、その他の機能で人気が高い。 BDBは、導入が早いが不人気で不安定 だったと思う。 : NAME IS NULL [sage] 2006/11/05(日) 01:25:30ID:??? InnoDBかMyISAMの2択でええんだな。 : NAME IS NULL [sage] 2006/11/05(日) 01:34:19ID:??? その2択でええ。 で、ファイナルアンサーはどちら? : NAME IS NULL [sage] 2006/11/05(日) 01:38:24ID:??? OLTP→InnoDB DSS→MyISAM でええんちゃう? : NAME IS NULL [sage] 2006/11/05(日) 01:50:31ID:??? それでええ。 : NAME IS NULL [sage] 2006/11/05(日) 01:56:50ID:??? テーブルのタイプで言えば、 マスタ型→MyISAM トランザクション型→InnoDB ヒストリカル型→MyISAM ってところかな。 : NAME IS NULL [] 2006/11/05(日) 07:19:49:AbI7e55r MySQLってデータはどういう形で持ってるの? : NAME IS NULL [sage] 2006/11/05(日) 09:54:51ID:??? 所詮ファイル : NAME IS NULL [sage] 2006/11/05(日) 16:01:25ID:??? 亀だが、のように疑問を思うヤシが まさか世間に出てるものを書いてないだろうな・・・ : NAME IS NULL [] 2006/11/05(日) 16:07:32:S8gdmn65 だが、言いたいことがあるならはっきり言って下さい、さん。 : 109ではない [sage] 2006/11/05(日) 16:38:22ID:??? 泣けるぜベイベー : NAME IS NULL [sage] 2006/11/05(日) 16:49:12ID:??? 氏はこの5年間に、約150社に対してクライアントサーバーシステムを 納品した実績を持っています。 内その90%は現在も基幹システムとして 順調に稼働しております。 : NAME IS NULL [sage] 2006/11/05(日) 17:29:42ID:??? >110≠>95 いや、書いてなければいいんだ。 ま、mysqlなシステムだったらどっちでもええけど : NAME IS NULL [sage] 2006/11/05(日) 17:41:08ID:??? 残り10%はまともに動いていないんだなw : NAME IS NULL [] 2006/11/05(日) 17:49:43:S8gdmn65 こんなところで憂さ晴らしか、 小さいぞ。 : NAME IS NULL [sage] 2006/11/05(日) 18:31:22ID:??? 総合スレがレベル低くなりすぎて廃スレになったのに、 こっちまで廃スレにするつもりかよ・・・・・ 厨房避けの初心者スレ作らないとダメか? : NAME IS NULL [sage] 2006/11/05(日) 21:00:31ID:??? いや自治に走るのはいいんだが、 myでまともなネタあるか? : NAME IS NULL [sage] 2006/11/05(日) 23:01:35ID:??? 最近更新遅いよね。 重大なバグがあるのか?5.1は?? 無理して急がれても迷惑だけどね。 : NAME IS NULL [sage] 2006/11/07(火) 02:37:30ID:??? ネタが無いというのでとりあえず振っておく ttp://http://enterprise.watch.impress.co.jp/cda/software/2006/11/02/8973.html 実際にモノを見たわけじゃないけど、livedoor型のクラスタを実現する為のキットかな? MySQL ENTERPRISEと競合しそうな気もするが。 : NAME IS NULL [sage] 2006/11/08(水) 00:38:02ID:??? MySQL Enterprise は名前を変えただけで、いままでのMySQLサーバと同じだから 競合はしないのではないかと思う。 : NAME IS NULL [sage] 2006/11/08(水) 11:55:31ID:??? まぁこれを導入するだけのとこは、 担当するSIがoracleを勧めるんじゃないかなぁ・・・ 俺自身はここ1年oracle触ってないけど : NAME IS NULL [age] 2006/11/08(水) 13:22:53ID:??? 1つのテーブル(A)からデータを取得する際、 そこに入っているある値(userだとします)の数字と、 異なるテーブル(B)に入っている数字の値が同じ場合、 Bからidという値とAの値すべてを取りだしたいのですが可能でしょうか? 簡単に書くと SELECT `auto`,`num` FROM `A` SELECT `id` FROM `B` WHERE `user`=(numの値) これを一度に結合して出来ないでしょうか? : NAME IS NULL [sage] 2006/11/08(水) 14:48:13ID:??? どっちかつーとプログラム板じゃねぇ? select a.auto,b.id from a inner join b on a.num = b.id : NAME IS NULL [age] 2006/11/08(水) 16:40:16ID:??? 122じゃないけどサンクス これってcountすることもできるの? select a.auto,b.count(id) from a inner join b on a.num = b.id だとできなかったけど : NAME IS NULL [sage] 2006/11/08(水) 17:30:06ID:??? group by で集計単位付加 とりあえず自分でSQL書けないヤシは Accessでテーブル作ってクエリで結合したSQLを参考に。 : NAME IS NULL [sage] 2006/11/08(水) 20:32:13ID:??? ACCESSにそんな機能あるのか 確かに、MS系のツールだったら、クリックしていくだけでSQL出て来そうだよなぁ 遅くて汚くても : NAME IS NULL [sage] 2006/11/08(水) 22:15:21ID:??? ビルえもんが作ってくれます : NAME IS NULL [sage] 2006/11/09(木) 07:30:18ID:??? 遅くて汚いというより 込入った難しいものは出来ない感じ : NAME IS NULL [sage] 2006/11/09(木) 08:12:55ID:??? やり方はあるのかも知れないけど 「いいよ。もう俺がSQL書くよ」 そんな感じ。 : NAME IS NULL [sage] 2006/11/09(木) 15:32:22ID:??? Access使ってる時点で 利用の範囲はたかが知れてる に1票 : NAME IS NULL [sage] 2006/11/09(木) 16:32:17ID:??? データベースってC:\mysql\dataでしか作れないの? E:\Web\につくりたいんだが : NAME IS NULL [sage] 2006/11/09(木) 18:17:03ID:??? つくれつくれ : NAME IS NULL [sage] 2006/11/09(木) 18:35:45ID:??? 作り方わからなすwwww 参考書でも買ってみるかな : NAME IS NULL [sage] 2006/11/09(木) 19:59:35ID:??? そうそう 悩めば悩んだ分だけ身につくもんだ ちなみに参考書も手当たり次第に買うのは非効率 ・入門書(インストや設定ファイルの設定法などが載ったヤツ) ・データベース構築法(PHPとの組み合わせがデフォ) ・リファレンス(SQL標準のより種類は少ないがMySQL専門の方がよい) 性格の全く違うこの3分類からそれぞれ自分に合ったヤツを探すべし : NAME IS NULL [sage] 2006/11/09(木) 20:18:44ID:??? Access使ってる時点で MySQLを使わずに付属DB(ジェット何たらだったかな)で ええでないか に100,000,000票 : NAME IS NULL [sage] 2006/11/09(木) 20:23:23ID:??? もしかして、M$のOSは アメリカではC:¥mysql¥dataがC:$mysql$dataという表記になるのか? どちらにしても、気色悪い感じだなw : NAME IS NULL [sage] 2006/11/09(木) 20:39:49ID:??? ある程度PHPをいじれるようになってきたんで、 MySQLとの連携を考えていて・・・ 自分にとっては2番目のが良さそう とりあえず参考書代稼ぐためにバイト探します : NAME IS NULL [sage] 2006/11/09(木) 21:21:06ID:??? なんで$だよ /だ : NAME IS NULL [sage] 2006/11/09(木) 21:22:17ID:??? アメリカとドルマーク掛けたんじゃね? : NAME IS NULL [sage] 2006/11/09(木) 21:58:43ID:??? 通貨記号で区切るのがM$ : NAME IS NULL [sage] 2006/11/09(木) 22:03:41ID:??? そう言われてみると。。。 日本以外のキーボードって「\」ってあるの?エスケープ文字とかどうするの? エスケープも「/」? じゃぁ日本でも「\」の他に実は「/」でエスケープできるの? : NAME IS NULL [sage] 2006/11/09(木) 22:06:05ID:??? バックスラッシュ(\) : NAME IS NULL [sage] 2006/11/09(木) 22:14:03ID:??? /なんて使ったらダメだろ。 そもそも、2バイト文字と1バイト文字の見分けがつかないような環境が胸糞悪い。 : NAME IS NULL [sage] 2006/11/10(金) 08:07:13ID:??? すまんスラッシュの向き間違えた : NAME IS NULL [sage] 2006/11/10(金) 08:38:55ID:??? /(^o^)\なんてこった : NAME IS NULL [sage] 2006/11/10(金) 12:31:36ID:??? \(^o^)/オワタ : NAME IS NULL [sage] 2006/11/10(金) 13:17:10ID:??? おれは「参考に」 と書いたんだが、思い込みの激しいやつばっかりか・・・ : NAME IS NULL [sage] 2006/11/11(土) 11:05:21ID:??? 誰か、総合スレの続きを頼む [MySQL 総合 Part10] 快速 RDBMS、MySQL の総合スレです。 前スレ[MySQL 総合 Part9] ttp://pc8.5ch.net/test/read.cgi/db/1155794342/ "> ttp://pc8.2ch.net/test/read.cgi/db/1155794342/ [関連スレと過去ログ] ttp://find.2ch.net/index.php?STR=MySQL [MySQL Developer Zone] ttp://http://dev.mysql.com/ [MySQL 日本語リファレンスマニュアル] ttp://http://dev.mysql.com/doc/mysql/ja/ [MySQL Internals Manual] ttp://http://dev.mysql.com/doc/internals/en/ [MyNA] ttp://http://www.mysql.gr.jp/ [MLja] ttp://http://lists.mysql.com/mysql-ja ・関連ツール及びユーティリティ ・関連書籍 >>2 : NAME IS NULL [sage] 2006/11/11(土) 14:42:42ID:??? 建てんのか? 立てるなら厨房避けスレの方がよさげ : NAME IS NULL [sage] 2006/11/11(土) 17:46:01ID:??? こちらを初心者用としてテンプラに入れるとか。 : NAME IS NULL [] 2006/11/15(水) 10:12:39:eneRUEqw おまえら教えてください。 SQLクエリによるアクセスではなくテーブルに直接アクセスすると 速いときいたことあるんですがやり方がさっぱりわかりません。 : NAME IS NULL [sage] 2006/11/15(水) 16:56:55ID:??? BerkleyDBなら、それ自体がSQLではないアクセス方法だし。 : NAME IS NULL [] 2006/11/15(水) 23:33:46:dOhQElQe トランザクションって Aさんが { トランザクションスタート セレクト とってきたデータを見ていじったりして アップデート コミット } してる間に Bさんが { セレクト } で読むことはできないってことでいいんですよね? : NAME IS NULL [sage] 2006/11/16(木) 00:14:38ID:??? そりゃロックだ。 : NAME IS NULL [sage] 2006/11/16(木) 00:16:56ID:??? でわ AさんのセレクトでFOR UPDATEいれたら Bさんからは読めないようにできるんですか? AもBも同じテーブルの同じレコードをセレクトしてるということなんですけど : NAME IS NULL [sage] 2006/11/16(木) 00:25:34ID:??? 実際にやってみりゃいいじゃん。 : NAME IS NULL [sage] 2006/11/16(木) 00:51:53ID:??? HANDLERのことか? : NAME IS NULL [sage] 2006/11/16(木) 00:55:18ID:??? gikoがhoge1かhoge2かhoge3にあるかを 今はこうやってるんですが、もっといい書き方ありますか? (hoge1 like giko) or (hoge2 like giko) or (hoge3 like giko) : NAME IS NULL [sage] 2006/11/16(木) 01:22:55ID:??? できなかったんですけど どうやったらみたいな Aさんがいじってる間は Bさんはいじれない状態にできるんでしょうか? : NAME IS NULL [] 2006/11/16(木) 03:14:57:H+GBzCl6 それだ! 助かりました!ありがとうございます!! : NAME IS NULL [sage] 2006/11/16(木) 10:22:49ID:??? つ ロック つ セマフォ : NAME IS NULL [sage] 2006/11/17(金) 12:32:11ID:??? Bさんのセレクト時も、select * from てーぶる for update ってすれば、 Aさんが終わるまで読めない。 : NAME IS NULL [sage] 2006/11/17(金) 12:44:28ID:??? よくわかりますて ありがとうござまいした : NAME IS NULL [sage] 2006/11/17(金) 17:36:49ID:??? mysql-gui-tools-5.0にしたら MySQL Administratorのバックアップが使えなくなってしまった… オプションいろいろ変えても An Error occurred while executing the backup. Error while analyzing an SQL statement. って出てしまう。。 しかも古いバージョンがもう落とせない。。。 : NAME IS NULL [sage] 2006/11/17(金) 21:45:59ID:??? サーバに出てるエラーログを見るのじゃ : NAME IS NULL [sage] 2006/11/17(金) 22:28:26ID:??? エラーログは何も出てないです… 最新のMySQL Administrator 1.2.5 rc でバックアップツールちゃんと動いてる人いますか? : NAME IS NULL [sage] 2006/11/18(土) 14:40:49ID:??? MySQLのrootのパスワードを忘れてしまいました。 パスワードのリセット方法などの解決手段はなにかありますでしょうか? あればぜひアドバイスをお願いします。 : NAME IS NULL [sage] 2006/11/18(土) 14:59:30ID:??? --skip-grant-tableオプション やりかた云々はマニュアル参照のこと (パスワードを忘れた時の方法として項がある) : 167 [sage] 2006/11/18(土) 15:01:57ID:??? レスありがとうございます。 早速調べてみます。 : NAME IS NULL [] 2006/11/19(日) 16:10:06:LNEvoLUo すみません、質問させて下さい。 MySQL 5.0.24で運用しております。 テーブルから一定時間以上前のデータを削除したいと思っているのですが 時間比較の書き方がわかりません。 テーブル構造は下記になります。 CREATE TABLE `c_condition` ( `c_condition_no` int(10) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,# No `c_condition_name` varchar(32) UNIQUE NOT NULL default '',# 状態名 `c_condition_up_date` datetime NOT NULL default '0000-00-00 00:00:00',# アクセス日時 `c_condition_reg_date` datetime NOT NULL default '0000-00-00 00:00:00',# 登録日時 `c_condition_del_flg` tinyint(1) unsigned NOT NULL default '0'# 削除フラグ ) ENGINE=InnoDB DEFAULT CHARSET=ujis; delete from table where `c_condition_up_date` > NOW() と単純に現在日時以前のデータを削除する書き方はわかりましたが、 現在日時より2日前のデータを削除するのは、どのように書いたらよろしいでしょうか? 宜しければお力添えを頂ければ助かります。 : NAME IS NULL [sage] 2006/11/19(日) 21:27:30ID:??? ttp://http://dev.mysql.com/doc/refman/4.1/ja/date-and-time-functions.html 演算子でやっても良いけど(むしろそっちの方が一般的) : NAME IS NULL [sage] 2006/11/21(火) 15:04:24ID:??? MySQL総合スレ じゃないと盛り上がらないね。 : NAME IS NULL [sage] 2006/11/22(水) 22:45:15ID:??? 遅レスだけど ここで話題に? : NAME IS NULL [sage] 2006/11/24(金) 00:43:16ID:??? 5.0.27のソースをmakeしてmake testしたのですが、 ctype_ucs_binlog [ fail ] となってしまいます。 ググってみたのですが、それらしい情報も見つかり ませんでした。何か対策をご存じですか? : NAME IS NULL [sage] 2006/11/24(金) 11:27:44ID:??? .configのオプションは? : NAME IS NULL [sage] 2006/11/24(金) 13:25:36ID:??? 返事ありがとうございます! --prefix=/usr/local/mysql --with-charset=ujis --with-extra-charsets=all です。 もしかすると最後のallをcomplexにすれば 何か変わるんでしょうか? : NAME IS NULL [sage] 2006/11/24(金) 14:56:30ID:??? うちではそのエラーは出ませんでした : NAME IS NULL [sage] 2006/11/24(金) 17:03:10ID:??? 確認、お手数おかけします。 白箱のDebianにインストールしようとしているのですが 環境によるものでしょうか…。 帰宅後にパラメータ変えてチャレンジしてみます。 : NAME IS NULL [] 2006/11/24(金) 22:45:18:cOwp2BAT ujisなら問題無し : NAME IS NULL [sage] 2006/11/24(金) 23:54:53ID:??? インデックスだけをあらかじめメモリに読み込んでおくことって出来ないの? : NAME IS NULL [sage] 2006/11/25(土) 00:20:23ID:??? ご協力いただきありがとうございます。 ちょっとこれ以上追求するのも時間がかかりそう なのでポスグレのほうでチャレンジすることにしました。 解決しないのはキモチワルイのですが諦めも肝心ですね。。 : NAME IS NULL [] 2006/11/25(土) 22:53:32:mpEt2PRj 「ほぼ」定型の XML 文書をRDBにマップして格納しようとしています。 具体的には集めてきた RSS/ATOM フィードを RDB に格納して処理しようとしています。 ただし、サイトごとに独自の XML 名前空間に属する要素で拡張されて いる記述があるので、その部分は XML 文書のまま特に解釈せず 格納しようとしています。 このように XML 文書の断片を特に解釈せずに格納するときは、 varchar や blob で格納するのが常套手段なのでしょうか? それとも MySQL には XML 文書の断片を扱うために特に用意された 手段があるモノなのでしょうか?たとえば XPath による 断片の抽出に対応してくれるとか。 : 148 [sage] 2006/11/26(日) 07:06:56ID:??? 結局、自分でたてました。。。 MySQL 総合 Part10 ttp://pc8.2ch.net/test/read.cgi/db/1164490501/ : NAME IS NULL [sage] 2006/11/27(月) 15:10:52ID:??? phpmyadminについて質問なんですけど よろしいでしょうか? フィールド型をENUMに設定した フィールドを追加しようとすると必ずエラーが出てしまいます。 エラーが出るのはENUMだけなんですが、 このフィールド型を設定するには 事前に設定等がひつようなんでしょうか? : NAME IS NULL [sage] 2006/11/28(火) 11:54:17ID:??? エラーが出てるならそれを書かないとだれもわからんだろ。 : NAME IS NULL [sage] 2006/11/28(火) 14:21:29ID:??? 5.0.27のWin版をインストールしたのでが、WinmysqlAdmin.exeが見当たらないのですが、どこにありますか? : NAME IS NULL [sage] 2006/11/28(火) 15:17:23ID:??? おまわりさんに聞くと良いんじゃないかな : NAME IS NULL [] 2006/11/28(火) 17:13:59:l8ld2DLA みなさんはDBの定義とかするのにWinmysqlAdminとCUIとphpMyAdminのどれが好きですか? : NAME IS NULL [sage] 2006/11/28(火) 17:54:09ID:??? phpMyAdmin が好き。 APC 入れればサクサク。 : NAME IS NULL [sage] 2006/11/28(火) 18:24:44ID:??? 最近のverにはもうない 4.0あたりまでじゃなかったかな 確かに知らん間になくなったな : NAME IS NULL [sage] 2006/11/28(火) 19:56:12ID:??? コンソール : NAME IS NULL [] 2006/11/28(火) 22:02:56:DZb/Y+nR APCって何ですか? : NAME IS NULL [sage] 2006/11/28(火) 22:06:32ID:??? Apache2 : NAME IS NULL [sage] 2006/11/29(水) 07:40:54ID:??? PHPのアクセレータのひとつ。 pear に入ってたっけ? : NAME IS NULL [sage] 2006/12/12(火) 10:47:19ID:??? 120万件のデータが入ったテーブルをalter table作業している最中に、selectかけたらメモリ食いつぶすんだけど。 テーブルのファイルサイズは780Mくらいなのに。2.5Gのメモリを使っても検索されずにout of memory... そもそもalter中にselectするなって事なんですかね? : NAME IS NULL [sage] 2006/12/12(火) 18:47:49ID:??? なんでテーブル変更してる最中にデータ取り出すんだよw : NAME IS NULL [sage] 2006/12/12(火) 19:21:03ID:??? American Power Conversion : NAME IS NULL [sage] 2006/12/12(火) 21:34:31ID:??? Armored Personal Carrier : NAME IS NULL [sage] 2006/12/13(水) 06:17:53ID:??? ttp://http://cyber.apc.co.jp/?banner_id=ga001 : NAME IS NULL [sage] 2006/12/20(水) 20:39:09ID:??? 質問させて下さい。 WinXP Pro Sp2 MySQL 5.0.24で動かしています。 CREATE TABLE `vote_total` (# パーソナルデータ `vote_total_fileNo` int(10) unsigned NOT NULL PRIMARY KEY,# ファイルNo `vote_total_judge_yes` int(10) unsigned NOT NULL default '0',# 評価(良い) `vote_total_judge_no` int(10) unsigned NOT NULL default '0',# 評価(悪い) `vote_total_reg_date` datetime NOT NULL default '0000-00-00 00:00:00',# 登録日時 `vote_total_del_flg` tinyint(1) unsigned NOT NULL default '0'# 削除フラグ ) ENGINE=InnoDB DEFAULT CHARSET=ujis; 上記の様なテーブルで情報を入れる際に、 1:`vote_total_fileNo` = 1レコードが在れば`vote_total_judge_yes` + 1をアップデートし、他のカラムはアップデートしない。 2:`vote_total_fileNo` = 1レコードが無ければ、`vote_total_fileNo` = 1と`vote_total_judge_yes` + 1をインサートする。 この処理を1回の接続(一つのsql文)で行いたいと思いまして、mysqlドキュメントを読みつつ、 replaceを使えばいいかなと思ったのですが、replaceを使うと、`vote_total_judge_yes`以外のカラムが初期値に上書きされてしまいます。 そこで色々読みあさっているとWHEN 〜 THEN 〜 ELSEならできるかなと思ったのですが、 少しSQL文が複雑になってしまうので、できればreplace構文のような形式で他のカラムが初期化上書きされないような方法は無いでしょうか? 宜しくお願いします。 : NAME IS NULL [age] 2006/12/20(水) 20:40:46ID:??? すみません # パーソナルデータ ってのは関係ないので気にしないで下さい。 : NAME IS NULL [sage] 2006/12/21(木) 10:01:13ID:??? ふむふむ、パーソナルデータね : NAME IS NULL [] 2006/12/21(木) 14:11:21:Wc5smalR だれかご教授お願いします。 ACCESSでMysqlをODBC経由で接続したいのですが、 MYSQLにローカル接続する時は上手く行きましたが、 ネットワーク経由で接続する時に上手くいきません。 [CONNECTER/ODBC]の設定で、恐らくSERVERの項目を 変える必要が有ると思うのですが、DBサーバーの コンピュータ名を入力しても駄目でした。 宜しくお願い致します。 : NAME IS NULL [sage] 2006/12/21(木) 17:21:34ID:??? インスコして、mysqladmin ping実行しても10061エラーばっかり/(^o^)\ サービス見ても 自動 開始 で実行されてる/(^o^)\ どなたか御指摘お願いします MySQL 5.1 : 204 [sage] 2006/12/21(木) 17:37:44ID:??? 追記 mysqladmin ping -u root -p Enterpass:root mysqld is alive と、上記のようにはできました。 また、mysqlshowでもエラーが返ってきます /(^o^)\ナンテコッタイ : NAME IS NULL [] 2006/12/21(木) 21:47:53:1hv/v4KN Verを書けよ : sage [sage] 2006/12/22(金) 12:31:40ID:??? 質問です。 MySQL5.0系をwin環境で使用しています。 DBの用途はMTブログのみです。 MySQLをインスコしてデフォルトのキャラクターセットで使用していましたが、phpmyadminで文字化けする為文字を2バイト文字の使用できるutfやeucに変更しようと頑張ってます。 もし変更出来たとして、変更前に書き込まれてるデータの文字は変換出来るのでしょうか? 変換されないとすれば、新たにデータベースをutfなどで作り、元のデータをインポートすれば表示されるものなのでしょうか? 何分MySQL初心者なものでして、ご教授願えれば幸いです(´・ω・`) : NAME IS NULL [sage] 2006/12/23(土) 21:51:45ID:??? 自動的に変換されない 全部自分で直す : NAME IS NULL [sage] 2007/01/02(火) 13:43:54ID:??? つまり、rootでログインしてたら実行できるけど、ログインしていない状況では エラーになる、ということで悩んでるの?それなら、MySQLは正常に動いてると思う。 逆に、その状態が異常だと何処で教わった? : NAME IS NULL [sage] 2007/01/02(火) 13:45:38ID:??? まず、ネットワーク経由でのアクセスを許可してるよね? : NAME IS NULL [sage] 2007/01/03(水) 00:35:03ID:??? たいした量じゃなかったんでMTのデータテキストで書き出し 新しいDBにしてから読み込みで解決です。 時間かかったwww おかげで年越しです。 : NAME IS NULL [sage] 2007/01/03(水) 00:36:33ID:??? 上の柿です。 名乗るの忘れてました(^_^.) : NAME IS NULL [sage] 2007/01/16(火) 01:54:07ID:??? VC7でMySQL 5.0.33がコンパイルできませぬ。 バイナリ配布してくれなくなったからorz. sql_yacc.cc(13646): warning C4065: switch 文に 'default' はありますが 'case' ラベルがありません。 sql_yacc.cc(27193): warning C4102: 'yyerrorlab' : ラベルは 1 度も参照されません。 c:\mysql-5.0.33\libmysqld\sql_yacc.cc(13759): warning C4700: 値が割り当てられていないローカルな変数 'MYSQLlval' に対して参照が行われました。 C:\mysql-5.0.33\sql\sql_select.cpp(8953): warning C4291: 'void *Sql_alloc::operator new[](size_t,MEM_ROOT *)' : 初期化コードが例外をスローすると、'new' 演算子を使用しているとメモリを解放しません。 C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C3209: '????' : Unicode 識別子は現在サポートされていません。 C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : '}' が、識別子 '????' の前に必要です。 C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : ';' が、識別子 '????' の前に必要です。 C:\mysql-5.0.33\sql\sql_locale.cpp(40): fatal error C1075: 左側 中カッコ '{' に対応するものが '\mysql-5.0.33\sql\sql_locale.cpp(40)' で見つかる前に EOF が検出されました。 C:\mysql-5.0.33\sql\sql_cursor.cpp(154): warning C4291: 'void *Sql_alloc::operator new(size_t,MEM_ROOT *)' : 初期化コードが例外をスローすると、'new' 演算子を使用しているとメモリを解放しません。 C:\mysql-5.0.33\sql\sql_cursor.cpp(213): warning C4291: 'void *Sql_alloc::operator new(size_t,MEM_ROOT *)' : 初期化コードが例外をスローすると、'new' 演算子を使用しているとメモリを解放しません。 C:\mysql-5.0.33\sql\net_serv.cpp(286): warning C4101: 'count' : ローカル変数は 1 度も使われていません。 C:\mysql-5.0.33\sql\net_serv.cpp(286): warning C4101: 'ready' : ローカル変数は 1 度も使われていません。 c:\mysql-5.0.33\libmysqld\lib_sql.cpp(285): warning C4244: '=' : 'unsigned long' から 'char' に変換しました。データが失われているかもしれません。 c:\mysql-5.0.33\libmysqld\lib_sql.cpp(829): warning C4244: '初期化中' : 'my_ulonglong' から 'uint' に変換しました。データが失われているかもしれません。 c:\mysql-5.0.33\libmysqld\lib_sql.cpp(1044): warning C4102: 'err' : ラベルは 1 度も参照されません。 C:\mysql-5.0.33\sql\item_cmpfunc.cpp(1795): warning C4101: 'buff' : ローカル変数は 1 度も使われていません。 C:\mysql-5.0.33\sql-common\client.c(1787): error C2373: 'cli_mysql_real_connect' : 再定義されています。異なる型修飾子です。 C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C3209: '????' : Unicode 識別子は現在サポートされていません。 C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : '}' が、識別子 '????' の前に必要です。 C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : ';' が、識別子 '????' の前に必要です。 C:\mysql-5.0.33\sql\sql_locale.cpp(40): fatal error C1075: 左側 中カッコ '{' に対応するものが '\mysql-5.0.33\sql\sql_locale.cpp(40)' で見つかる前に EOF が検出されました。 c:\mysql-5.0.33\sql\sql_locale.cpp(40): error C3209: '????' : Unicode 識別子は現在サポートされていません。 c:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : '}' が、識別子 '????' の前に必要です。 c:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : ';' が、識別子 '????' の前に必要です。 c:\mysql-5.0.33\sql\sql_locale.cpp(40): fatal error C1075: 左側 中カッコ '{' に対応するものが 'sql_locale.cpp(40)' で見つかる前に EOF が検出されました。 mysqlserver fatal error LNK1181: 入力ファイル '\mysql-5.0.33\mysqldemb\release\mysqldemb.lib' を開けません。 test_libmysqld fatal error LNK1181: 入力ファイル '\mysql-5.0.33\lib_release\libmysqld.lib' を開けません。 : NAME IS NULL [sage] 2007/01/28(日) 23:28:51ID:??? mysql-5.0.33フォルダをデスクトップに置いてコンパイルした結果をもう一度 教えてくださいw : NAME IS NULL [sage] 2007/02/12(月) 22:50:10ID:??? てすつ : NAME IS NULL [sage] 2007/02/25(日) 18:30:11ID:??? なぜデスクトップ? : NAME IS NULL [] 2007/05/11(金) 01:34:05:hJ+hqO0q ムーバブルタイプ、MySQLでやろうとしたらこんなん出ましたw Data too long for column 'template_text' at row 1 : NAME IS NULL [] 2007/05/14(月) 23:43:26:LAW+Ghic ヴァージョン4と5の違いって何ですか?そんなに違うものですか?? : NAME IS NULL [sage] 2007/05/15(火) 02:12:52ID:??? ガッテム! : NAME IS NULL [sage] 2007/05/25(金) 08:20:15ID:??? 全然違う。 ネットで調べればすぐわかる。 つか、なんで今さらそんな話を。。。 : NAME IS NULL [sage] 2007/05/25(金) 09:26:25ID:??? うちの嫁と隣の嫁ぐらいの違いがある : NAME IS NULL [sage] 2007/05/25(金) 21:44:21ID:??? そうですか!さんは両方とも使ったことが あるんですね! どっちがよかったですか? : NAME IS NULL [sage] 2007/05/26(土) 01:54:20ID:??? 隣の嫁 : NAME IS NULL [sage] 2007/05/27(日) 07:05:15ID:??? ジーザス! : NAME IS NULL [sage] 2007/05/28(月) 13:18:51ID:??? 複数カラムのJOINって無理ですか? id,flg,reason id,koyo,kousei,kenkou の二つを合体させたいんですが、 flgは無し、アリ、申請中で、reasonは理由です。 : NAME IS NULL [sage] 2007/05/30(水) 21:38:43ID:??? >複数カラムのJOINって無理ですか? なにを聞きたいのか、全然わからん。 わからんが、とりあえず答をぶっぱなしてやる。 つ LEFT OUTER JOIN : NAME IS NULL [sage] 2007/06/12(火) 02:31:24ID:??? 5.0.41にしたらアプリケーションがことごとく動かなくなった。 いろいろ試してみたら5.0.27より後のバージョンでNGになってる。 大幅な仕様変更があったんでしょうか。 : NAME IS NULL [] 2007/06/13(水) 20:32:35:xGJFXDYi 隣の芝生は青く見える。 : NAME IS NULL [] 2007/06/13(水) 20:45:56:xGJFXDYi スレ違いかもしれんが、10年以上前に秋葉原で購入した マハーポーシャのパソコンにNetBSDインストールして MySQL5.2を入れて見ようと考えてます。バージョンが安定してないのと ハードのスペックが余りにも古いのでデータベースがきちんと 動いてくれるのか不安です。 用途は、8000人分の個人情報を管理することです。 : NAME IS NULL [sage] 2007/06/14(木) 00:58:03ID:??? スペックで考える前に 8000人分の個人情報を預かる責任として考えろ : NAME IS NULL [sage] 2007/06/17(日) 18:01:16ID:??? 警察から連絡があったでしょ?OSが不正コピーかどうかの確認。 : NAME IS NULL [sage] 2007/06/25(月) 02:34:50ID:??? マハーポージャってなに? オウムのやつ? : NAME IS NULL [] 2007/06/29(金) 22:17:20:tyr8Qbwe すみません。 MySQL 5.0.41 をインストールしたのですが、 my.ini を編集しようとして、開こうとしても、他のプロセスによって書き込みが禁止されていますといわれて、編集できません。 mysqladmin -uroot -p**** shutdown で、シャットダウンを済ませたのですが、それでも書き込みが禁止されています。 my.ini はどうやって編集するのでしょうか。 : 233 [sage] 2007/06/29(金) 23:14:10ID:??? 自己解決しました。 Vistaの変なセキュリティ機能の所為でした。 ファイルの上書きでなんとか書き換えました。 : NAME IS NULL [sage] 2007/07/25(水) 11:21:25ID:??? MySQLに接続するために 日本語サーバー対応版 libmysql.dll を探しているのですがSoft Agencyのサイトからは ダウンロードできなくなってるみたいです。。 どこか別のサイトでダウンロードできるところはないでしょうか? : NAME IS NULL [sage] 2007/07/29(日) 22:56:25ID:??? 公式の奴はあかんの? : NAME IS NULL [sage] 2007/08/21(火) 05:36:17ID:??? ttp://tv11.2ch.net/test/read.cgi/geinin/1182857971/90 : NAME IS NULL [sage] 2007/09/21(金) 20:48:56ID:??? すいません、教えてください。 gcc (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125) e:\MySQL\bin\mysql.exe Ver 14.12 Distrib 5.0.37, for Win64 (unknown) です。 以下のような簡単なプログラムを書いてコンパイルしたところ undefined reference to`_mysq_init'といわれてしまいました。 何が足りないのでしょうか。 ====================ソース========================= #include<stdio.h> #include"mysql.h" int main() { MYSQL *mysql; if(mysql_init(mysql)==NULL) { fprintf(stderr,"Cannot init MySQL"); return 1; } return 0; } ==================コンパイルオプション================== gcc -Ie:/MySQL/include \ -Le:/MySQL/include \ -Le:/MySQL/lib/opt \ -lmysqlclient \ -llibmysql \ test.c : 238 [sage] 2007/09/21(金) 20:52:29ID:??? すいません。 コンパイルオプションに変な改行が入ってますが、 無いものとして考えてください。 : NAME IS NULL [sage] 2007/09/29(土) 00:15:26ID:??? つ-lzlib : NAME IS NULL [sage] 2007/09/29(土) 13:55:54ID:??? test.cよりあとに、-lつける -lの順番と位置には意味があるので : 238 [sage] 2007/09/29(土) 19:28:09ID:??? レスありがとうございます。 test.cよりあとに-lをつけたのですが駄目でした。 ライブラリの順番もいろいろ入れ替えてみたのですが。 ところでstringsでmysqlclient.libをみてみたら 以下のようになったのですが、_mysql_init@4の@4とは何なのでしょう? bash-3.1$ strings mysqlclient.lib | grep mysql_init _mysql_init@4 _mysql_init_character_set _mysql_init@4 _mysql_init_character_set _mysql_init@4 _mysql_init@4 _mysql_init_character_set : NAME IS NULL [sage] 2007/09/30(日) 00:42:51ID:??? _関数名@数字なら、stdcallの関数で、数字は引数のバイト数 stdcallの関数って教えないと駄目じゃないかな。 : 238 [sage] 2007/09/30(日) 20:29:21ID:??? レスありがとうございます。 mysql.hを覗いてみたところ以下のようになっていました。 #ifdef __CYGWIN__ /* CYGWIN implements a UNIX API */ #undef WIN #undef _WIN #undef _WIN32 #undef _WIN64 #undef __WIN__ #endif #if !defined(__WIN__) #define STDCALL #else #define STDCALL __stdcall #endif 実はCygwinでやっているのですが、Cygwinだと__stdcallが取り除かれるようです。 リンクするライブラリを間違えているということでしょうか。 ためしに無理やり__stdcallを付けてみたら山のようにリンクエラーがでました。 : 238 [sage] 2007/10/02(火) 07:12:07ID:??? 環境をCygwin&gccからコマンドプロンプト&VCに変えたら 上手くいったのでとりあえずこれでやることにします。 レスありがとうございました。 : NAME IS NULL [sage] 2007/10/10(水) 02:46:28ID:??? mysql-test-run 及び make testは失敗するのがデフォルトですか? CentOSのmysql-5.0.48.src.rpmからrpmbuildでrebuildしたんですが、make testの段でエラーになります。 specの中身は、 CFLAGS="-O2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv" CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions" CC=gcc(ver3.4.6-8) CXX=g++(ver3.4.6.8) ./configure --with-readline --with-openssl --without-debug --enable-shared --with-bench --localstatedir=/var/lib/mysql \ --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-mysqld-user="mysql" --with-extra-charsets=all \ --with-innodb --with-ndbcluster --with-berkeley-db --enable-local-infile --enable-largefile --enable-thread-safe-client \ --disable-dependency-tracking --with-named-thread-libs="-lpthread" とこうなってます。 で、%build(make)セクションは問題なく進んでいるようですが、make testに入ってから、 Logging: mysql-test-run.pl MySQL Version 5.0.48 Skipping ndbcluster, mysqld not compiled with ndbcluster Skipping SSL, mysqld not compiled with SSL Using MTR_BUILD_THREAD = 0 Using MASTER_MYPORT = 9306 Using MASTER_MYPORT1 = 9307 Using SLAVE_MYPORT = 9308 Using SLAVE_MYPORT1 = 9309 Using SLAVE_MYPORT2 = 9310 Using IM_PORT = 9312 Using IM_MYSQLD1_PORT = 9313 Using IM_MYSQLD2_PORT = 9314 Killing Possible Leftover Processes Removing Stale Files Creating Directories Installing Master Database Installing Master Database Installing Slave1 Database mysql-test-run: WARNING: running this script as _root_ will cause some tests to be skipped ======================================================= Starting Tests in the 'main' suite TEST RESULT TIME (ms) ------------------------------------------------------- mysql-test-run: WARNING: Process 8991 died alias [ fail ] ERROR: Failed to start master mysqld 0 Aborting: alias failed in default mode. To continue, re-run with '--force'. Stopping All Servers mysql-test-run: WARNING: caught exit of unknown child -1 mysql-test-run: WARNING: Forcing kill of process 8991 と出て、いきなりFaild出ています。 : 246 [sage] 2007/10/10(水) 02:46:59ID:??? そこで、src.rpm中のtar.gzを、自分で展開して、 CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" \ ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static (mysql4.1マニュアルにあったまんま)から、makeしてみたんですが、 ・item_cmpfunc.cc:861: 警告: converting of negative value `-0x000000001' to `ulonglong' ・sql_show.cc:1467: 警告: キャストによってポインタから異なるサイズの整数となります。 上の二件警告がでて、コンパイル自体は通るんですが、で、make testとしたら、上と全く同じエラーがでます。 とりあえずmake installして、./script/mysql_install_dbしてから、./bin/mysqld_safe & で起動して、 ./bin/mysql -u root で入って、select,create table,insert,delete 等は一応動いてるようです。 でもそこで mysql-test/mysql-test-runしてみるとやはり上記のエラーが・・・。 途中でこけるんではなくて、いきなり一発目のテストからこけてる。 ちなみに --force オプションつきでやってみると、ものの見事に全てのテストが Faildします。 その時、別のターミナルからtopでプロセス監視してると、mysqld<defunct>が二個くらい出てきては 数秒したら消えるの繰り返しでした。 ’Failed to start master mysqld 0’とあるので、テスト用のmysqldが正常に起動できてない(ゾンビプロセス化) ような気がしますが、mysql-ABや、MLで’Failed to start master mysqld 0’とか’mysql-test-run’とかで 検索かけても、マニュアルには「全てのテストは通ります。」としか書かれてないし、 ggったところ一件だけ同じ症状(ver5.0.41だけど)があったんですが、 そこにも「通る気配がないので、make installして起動さしますた。」ってことになってます。 こちらの皆さんは、ソースからmakeしてmake testとか、script/mysql-test-runとかちゃんと通りますか? あと、rpmからの時は、起動してるとき ps -A | grep mysql で mysqld_safe と mysqld の二つしか プロセスHitしないのに、ソースからmake install して ./bin/mysqld_safe した時は、mysqldプロセスが 八匹くらい常駐してるんですが、これも正常なんですか?? : NAME IS NULL [sage] 2007/10/11(木) 07:49:24ID:??? rpmbuildでのtest全失敗はやったことある。 > mysqld<defunct>が二個くらい出てきては > 数秒したら消えるの繰り返しでした。 いっしょいっしょ。 iptablesで塞いでるからかなーとか考えて そのときは深く追求しないで寝てしまった。 あと 関係ないけど5.0.48は大バグがあるから使っちゃだめ。 | MySQL Enterprise 5.0.48 Binaries Withdrawn | After the recently released MySQL Enterprise 5.0.48 binaries | were made available for download, it was discovered that they | are affected by Bug #31001. | | Because of this, it was decided that MySQL Enterprise 5.0.48 | binaries should be withdrawn from the MySQL Enterprise Server | download page, and they have now been removed. The previously | released MRU, MySQL 5.0.46, has been made available in its place. : NAME IS NULL [sage] 2007/10/11(木) 11:09:38ID:??? お返事ありがとうございます。 そうですか。 本スレ?でも書いたんですが、5.0.48.src.rpmからではなくて、本家の5.0.45.tar.gzからmakeしても、全く同じ症状がでてます。 ちなみにtop監視してて気づいたこと、mysqld<defunct>以外にndb-なんちゃらってのが出てきては消えを繰り返してたので、 クラスターエンジン(?)がらみかなーとかとも考えてみたんですが、よくわかりません。 > あと > 関係ないけど5.0.48は大バグがあるから使っちゃだめ。 うはー、さっきBug#31001をチラッと見に行きましたが、かなり重大っぽいですね。 CentOSのrpmにはいくつかPatchがあたってるようなので、ちょっと調べてみます。 : 248 [sage] 2007/10/12(金) 02:23:20ID:??? --with-mysqld-ldflags=-all-static これがついてるとNPTLじゃなくてLinuxThreadになるらしい。 なのでtopとかでスレッド数のぶんプロセスがあがってしまう。 mysql-test-run.plは調べ中だけどrootでやると確実に失敗する模様。 元々mysqldはセキュリティ上root権限ではあがらないため。 明示的に--user=rootとすればあがるのでmysql-test-run.plに パッチをあてて実験中。 SRPMのリビルドの過程ではmake testはしないのが普通なのかなあ。 あらかじめ | export MYSQL_RPMBUILD_TEST=no するとmake testを飛ばすみたいね。 : 248 [sage] 2007/10/12(金) 03:19:03ID:??? > 明示的に--user=rootとすればあがるのでmysql-test-run.plに > パッチをあてて実験中。 test通った。ので原因確定。 結論として、 MySQLのSRPMはrootでなくて一般ユーザでrpmbuildすべし。 一般ユーザでrpmbuildしたらパッチなくてもtest通った。 参考 ttp://http://memo.blogdns.net/rpmbuild.html ねる : 290 [] 2007/10/12(金) 04:30:42:obmx5Aip ,251 わざわざ検証ありがとうございます。 実はこっちでもちょっと前に、一般ユーザーでテスト通りました。 mysql-test/var/log/master.errに ’Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!’ ってあったんで、マニュアルの"Security"部分眺めながら、--user=rootでやっみたんですが、それでもFailedになったんで、 sudo -u mysqlでやって、今までとは違うエラー内容(mysql-test/var/以下にファイル作れません)でたので、 chmod 775 -R mysql-test/でやってみてテスト進みました。 ぬわんてこった〜〜!!って真剣思った。 rpmbuildかける時はずっとrootでやってたんで、まさに灯台本暗しとゆうかなんとゆうか・・・。 > --with-mysqld-ldflags=-all-static > これがついてるとNPTLじゃなくてLinuxThreadになるらしい。 > なのでtopとかでスレッド数のぶんプロセスがあがってしまう。 これは知らなかった。これもサンクスです。 あと、Centの5.0.48には、当該のPatch当たってなかった。 さすがにorder by desc と asc で並びが同じ(w)ってのはまずいですね。(myisamはちゃんとなるみたいだけど) これから一般ユーザーでrpmbuild試してみようと思いましたが、眠いので明日にします。 : 246 [sage] 2007/10/12(金) 04:34:39ID:??? すいません。は246の間違いです。 しかもあげてしまった・・・orz。 : NAME IS NULL [sage] 2007/10/15(月) 23:16:50ID:??? mysqlの文字列の型で、charとvarcharとtextとありますが、 それぞれ、どのような文字列の場合に使用するものなのでしょうか? たとえば、高速化をはかりたい場合はcharで、ディスクの容量を節約したい場合は、varcharで といった具体に目的に応じて、使用する型を選ぶと思うのですが、 その判断方法を教えていただきたく、ごきょうじゅお願い致します。 : NAME IS NULL [sage] 2007/10/16(火) 00:49:25ID:??? 固定長・・・・・・・・CHAR 可変長・・・・・・・・VARCHAR 256文字以上・・・TEXT でいいんじゃね? : NAME IS NULL [sage] 2007/10/16(火) 01:08:26ID:??? MySQLのVARCHARは64KB入るよ。 CHARは余った末尾は空白埋めされる。 VARCHRは空白埋めされない、末尾に空白を入れても削られる。 TEXTは空白埋めされないけど、末尾に入れた空白はそのまま残る。 なので CHAR:何か固定桁のIDを入れる VARCHAR:何かの名前を入れる(末尾の空白はいらない!) TEXT:文章を入れる(末尾に空白を残したい人がいるかもしれない!) っていうのがお作法じゃね? 性能差はたぶん測定不可能だと思う。 : NAME IS NULL [sage] 2007/10/16(火) 02:18:07ID:??? 5.0からvarcharの末尾空白は削られなくなったというような話をどっかで聞いたような気がする。 : NAME IS NULL [sage] 2007/10/16(火) 02:44:26ID:??? ほんとだorz しらんかった : >>254 [sage] 2007/10/16(火) 23:55:06ID:??? ありがとうございます。 結局、varcharとtextはでもどっちでもよいという話ですね。 : NAME IS NULL [sage] 2007/10/17(水) 00:40:12ID:??? MySQLって、primary keyをselectすると、 そのレコードの全てのカラムのデータをひっぱってくるという話を 聞いたことがあるのですが、これは事実でしょうか? 事実とした場合、4000文字程度のデータが入るカラムをtext型として データベースに追加することを考えた場合、 既存のテーブルに追加すると性能が落ちる気がするので、 同じprimaryキーの別のテーブルを新しく作成して、 そこにtextのカラムを追加したほうがいいのかなと考えたのですが、 この考え方はあっていますでしょうか? よろしくごきょうじゅお願いします。 : NAME IS NULL [sage] 2007/10/17(水) 01:14:53ID:??? ttp://http://www.mysql-ucj2007.jp/session/index.html セッションJ25の下の資料のP13〜15、17〜18を読めばいいんじゃない? 興味があったらセッションJ14のP18〜19も読めばいいと思うよ。 : NAME IS NULL [sage] 2007/10/17(水) 14:38:27ID:??? たぶんいろいろ勘違いしてると思われ。 : >>260 [sage] 2007/10/18(木) 00:48:15ID:??? ありがとうございます。読んでみますm(_ _)m : ビューについて質問 [sage] 2007/11/01(木) 03:08:57ID:??? 変則的な使い方だと思うのですが、ビューについて質問させてください。 <条件> 共通のカラムをもった別のテーブルを2つ以上用意する。 (カラムは共通のもの以外にもある可能性がある。例として共通カラム:ID,NAME) <質問1> これらのビューを作成するときには、 create or replace view view_name as select ID,NAME from * where 条件式; で作成可能でしょうか? <質問2> 上記SQL文でビューに組み込まれるテーブルは少なくともID,NAMEカラムを持っていることが条件となり、 ID,NAMEカラムの片方だけを持つテーブル→ビューには組み込まれない。 ID,NAMEカラム以外にもカラムを持つテーブル→ビューに組み込まれる。 となるのでしょうか? <質問3> 元のテーブルのデータがUPDATE,INSERT等で更新し、ビューを意図的に更新しない時ビ MySQLではビューの検索ではどのような挙動になるのでしょうか? 具体的には、 NAMEフィールドが更新された→検索に引っかかるのは更新前の文字列か更新後の文字列か? レコードが削除された→検索には削除されたレコードも引っかかるのか? 以上です。 よろしくお願いします : NAME IS NULL [sage] 2007/11/01(木) 16:54:00ID:??? いいからマニュアル読めよ。 ttp://http://dev.mysql.com/doc/refman/5.1/ja/create-view.html 1はできん。 3は意味不明。 VIEWってなんだか理解してる? : QBfqIVLh [jjogen@zdydhi.com] 2007/11/13(火) 06:03:32ID:??? kMOIOg <a href=" ttp://http://qktiebmtyoyx.com/">qktiebmtyoyx</a>, [url= ttp://http://koqpvsirptcc.com/ ]koqpvsirptcc[/url], [link= ttp://http://lhokxhsphplc.com/ ]lhokxhsphplc[/link], ttp://http://ozgxkrnwwczo.com/ : ZDunVynZK [hello@gratz.com] 2007/11/19(月) 12:39:45ID:??? Hi! Nice site! <a href= ttp://http://ozzyosbournemusic.blogspot.com/ >hi </a> [URL= ttp://http://ozzyosbournemusic.blogspot.com/ ] lol wut???[/URL] ttp://http://ozzyosbournemusic.blogspot.com/ : jYRufUEttFbXqOmQDLW [nxwjbl@noqaug.com] 2007/11/20(火) 21:35:04ID:??? AqyHQz <a href=" ttp://http://yoqqrkalkrud.com/">yoqqrkalkrud</a>, [url= ttp://http://vdkyeaqetvrq.com/ ]vdkyeaqetvrq[/url], [link= ttp://http://aheagorqsotp.com/ ]aheagorqsotp[/link], ttp://http://atpwdxejmkva.com/ : TIFuLtsDDsbaCAhszE [nbp@bpn.net] 2007/11/22(木) 22:50:13ID:??? ttp://http://gkinyn.cn mp3 dmusic downloads ipod : oHQIyyzKxHaoHVU [discostar@discostar.info] 2007/11/23(金) 23:02:05ID:??? ttp://http://ksrajt.cn/olympia-green-fuels.html Olympia green fuels ttp://http://ksrajt.cn/dj-green-lantern.html Dj green lantern ttp://http://ksrajt.cn/cello-design-rug.html Cello design rug ttp://http://ksrajt.cn/web-design-ribble-valley.html Web design ribble valley ttp://http://ksrajt.cn/crane-river-fish-study.html Crane river fish study : QLkqzusunZSiKx [govnokia@govnokia.net] 2007/11/24(土) 00:48:42ID:??? ttp://http://ktmyve.cn/escort-monique-new-york.html Escort monique new york ttp://http://ktmyve.cn/laser-vaginal-rejuvenation-new-york.html Laser vaginal rejuvenation new york ttp://http://ktmyve.cn/fetish-restaurant-new-york.html Fetish restaurant new york ttp://http://ktmyve.cn/pda-cube-x-serial-rubik-pocket-pc.html Pda cube x serial rubik pocket pc ttp://http://ktmyve.cn/ear-piece-for-blackjack-pda.html Ear piece for blackjack pda : NAME IS NULL [sage] 2008/02/13(水) 21:21:47ID:??? 5がいかに人気が無いか分かるな : NAME IS NULL [sage] 2008/02/14(木) 01:10:13ID:??? MySQL5系からトリガという機能が追加されたらしいのですが、 このトリガって具体的にどのようなシチュエーションで利用されるものなのでしょうか? (#トリガの説明聞いただけでは、いまいち何の役にたつのかわからないのです。。) : NAME IS NULL [sage] 2008/02/14(木) 01:45:58ID:??? サマリテーブルの更新。 : NAME IS NULL [sage] 2008/02/14(木) 01:58:44ID:??? このへん読んでみたらどうか ttp://http://www.techscore.com/tech/sql/14_02.html : NAME IS NULL [sage] 2008/02/14(木) 10:49:17ID:??? QueryBrowserで、右側のテーブル名ダブルクリックすると、上のクエリ窓に SELECT * FROM [テーブル名] [テーブル名のイニシャル] が出ますよね? それで、ある一部のテーブル名だけ SELECT * FROM '[テーブル名]' [テーブル名のイニシャル] とシングルクオートで囲まれて出てきます。 このせいでアプリケーションでの検索ができません。 何が原因でしょうか?テーブル作成時もほかのテーブルと同じように作ったのですが・・・ : >>273 [sage] 2008/02/15(金) 00:04:23ID:??? ありがとうございます : KbYTMrLzTv [bxnndq@uwktez.com] 2008/03/22(土) 05:55:00ID:??? v8NGgX <a href=" ttp://http://vfmgfkqvuyub.com/ ">vfmgfkqvuyub</a>, [url= ttp://http://wylrgaydxuvp.com/ ]wylrgaydxuvp[/url], [link= ttp://http://cljwxffwlhfp.com/ ]cljwxffwlhfp[/link], ttp://http://ldpsnlauqwzc.com/ : frDFQeby [vaasfe@gxtlrv.com] 2008/03/24(月) 11:15:17ID:??? MRgoyb <a href=" ttp://http://efuiqwatnglf.com/ ">efuiqwatnglf</a>, [url= ttp://http://zwmqqnuyvkyz.com/ ]zwmqqnuyvkyz[/url], [link= ttp://http://aenphnyjgyvo.com/ ]aenphnyjgyvo[/link], ttp://http://npmlelkodlnx.com/ : NAME IS NULL [] 2008/04/01(火) 02:32:51:S2Hxl9dE DELETE FROM userlist;してしまった…。バックアップが見つからないorz : NAME IS NULL [] 2008/05/07(水) 15:09:18:lgbIt4VH 自宅のパソコンでPHPやJavaを勉強してるんだけど。 MySQLにPHPやJavaから接続したいんだけど、 PHP用のデータベースはEUC-JP、Java用のデータベースはWindows-31Jにしたいんだけど データベース作成のときのCREATE DATABASE構文でCHARACTER SET CP932 とかUJISとかに すればひとつのMySQLの中で別々の文字コードを持ったデータベースってできるの? 教えてえろい人。 : NAME IS NULL [sage] 2008/05/07(水) 16:33:19ID:??? でけるよ : NAME IS NULL [] 2008/05/07(水) 20:05:47:NtT1LWDm thx 明日やってみるYO!!! : NAME IS NULL [sage] 2008/05/08(木) 01:32:56ID:??? shutdownして再び動かそうとしたら プロセス残ってるよとか言う意味のエラーが出て起動できねえ糞 : NAME IS NULL [sage] 2008/05/08(木) 01:58:43ID:??? pid ファイルが残ってるんじゃないの : NAME IS NULL [sage] 2008/05/08(木) 02:07:58ID:??? pidファイル探したが見つからなくて途方に暮れてる : 286 [sage] 2008/05/08(木) 02:08:34ID:??? リブートしたら治るかなあ : NAME IS NULL [sage] 2008/05/08(木) 02:31:43ID:??? OS は? : 286 [sage] 2008/05/08(木) 02:54:58ID:??? linuxです MySQL3と4を共存させてます : NAME IS NULL [sage] 2008/05/08(木) 04:02:33ID:??? strace してみて、エラーメッセージ直前でどんなシステムコールを発行しているか 見てみると良いかもね。特に fstat とか open 辺りを中心に。pid ファイルなら それで見つかると思う。 あとは普通に mysqld のエラーログを端から眺めてみるとか。 : 286 [sage] 2008/05/08(木) 16:22:54ID:??? それっぽいpidファイル見つかったけど中身のプロセスidは psで確認してみたら動いてるっぽいし…(すでにmysql3が動いてるのでそれの?) : 286 [sage] 2008/05/08(木) 16:26:43ID:??? 言い忘れてましたがすでにMySQL3は動いています 起動できないのはMySQL4です : NAME IS NULL [sage] 2008/05/08(木) 17:00:06ID:??? 新しいほう(v4)のcnfで、data_dir、pidの場所、mysql.sockの場所、bindするPort 全て異なる設定にする。 : 286 [sage] 2008/05/08(木) 17:26:53ID:??? >/var/lib/mysql4/bin/mysqld_safe -u root -p -P3307 --defaults-file=/var/lib/mysql4/data/my.cnf --pid-file=/var/lib/mysql4/data/mysql4.pid --datadir=/var/lib/mysql4 >Starting mysqld daemon with databases from /var/lib/mysql4 >STOPPING server from pid file /var/lib/mysql4/data/mysql4.pid >080508 17:25:20 mysqld ended orz... : 286 [sage] 2008/05/08(木) 17:48:37ID:??? MySQL4はあきらめてで5を入れて試してみます。 回答してくれた方ありがとうございました。 : NAME IS NULL [sage] 2008/05/08(木) 18:08:56ID:??? > /var/lib/mysql4/bin/mysqld_safe ・・・・ のところの、-u root いらない。(ってか、確かroot権限でmysqldは起動できないはず) あと、--defaults-file= 指定するなら、その後ろ側にある各種コマンドラインオプションも.cnfに書いてしまえ。 もうひとつ、予想だけど、/var/lib/mysql4 はほんとにdatadirかな?/var/lib/mysql/dataではなくて? : 286 [sage] 2008/05/08(木) 19:30:41ID:??? >もうひとつ、予想だけど、/var/lib/mysql4?はほんとにdatadirかな?/var/lib/mysql/dataではなくて? そのとおりでした。/var/lib/mysql4/dataでした ただ、そのへんを直しても同じエラーでこけるっす・・・ : NAME IS NULL [sage] 2008/05/08(木) 20:00:48ID:??? もう少しエスパーしてみる。 そのPathからして、多分ソースから、--prefix=/var/lib/mysql4 としてコンパイル&インストールしたんだと思われるけど、 まず、動いてるほうのmysql3を止めてから、4のほうを起動出来るか試してみる。(cnfは二つ目起動させる設定で) それで起動出来なければ、単独とか2つ同時起動とか関係ない。そもそも起動の仕方が間違ってる。 で、予想としては、mysql権限テーブルが作成されていないとか、datadir以下のパーミッション絡みかな。 ここら辺は詳しくは、本家のmanualなりdocument見てくれ。 ここいらがわかってないと、5.0入れても多分起動できない。 逆に、上の段階で起動出来てしまったら、原因ようわからん。(オレではお手上げ) ちなみに、ウチの環境で、の通り即席でやってみたら、2つ同時起動はできた。(v4とv5でだけど) ちゃんと別々に動作してるのも、ps と それぞれにconsolから接続して確認した。 : 286 [sage] 2008/05/08(木) 22:11:46ID:??? すみません、上司と相談した結果MySQL4をアンインストしてMySQL5を入れることになりました それでmysqld_safeで無事起動できました 結局大本の問題は解決できませんでしたが色々相談に乗ってくださってありがとうございました : NAME IS NULL [sage] 2008/06/02(月) 21:37:17ID:??? エスパーですまん。 なにがなんだかわからん。 同じテーブルをアクセスしているが PHP経由は大丈夫で 突然、JDBC でおかしくなった。 昨日までOKだった。 OS再起動までした。 以下、mysql.log 080602 21:23:40 5 Connect root@localhost on 5 Query SET NAMES ujis 5 Init DB test 5 Query select * from tab1 order by number 5 Quit --------------------------------------------------------------------↑ PHP で接続 --------------------------------------------------------------------↓ JDBC 080602 21:29:04 6 Connect root@localhost on test 6 Query 闃爿931,蹌/..%#4/2蹣!6!逡鉐鉚琥爛6)3)/.篁36.逎6)3)/.=珸 閠 玻!2)!",%.!-%瓔膃!.'5!'%艢燹2)!",%.!-%瓔瑯.%472)4%4)-%/54艢燹2)!",%.!-%瓔瑯).4%2!#4)6%4)-%/54艢燹2)!" ,%.!-%瓔瑯7!)44)-%/54艢燹2)!",%.!-%瓔瑯#(!2!#4%23%4#,)%.4艢燹2)!",%.!-%瓔瑯#(!2!#4%23%4#/..%#4)/.艢燹2)!" ,%.!-%瓔瑯#(!2!#4%23%4艢燹2)!",%.!-%瓔瑯#(!2!#4%23%43%26%2艢燹2)!",%.!-%瓔瑯48)3/,!4)/.艢燹2)!",%.!-%瓔瑯42!.3!#4)/.)3/,!4)/ 以下 カット なにか ヒントでいいからお願い。 : NAME IS NULL [sage] 2008/06/02(月) 21:44:48ID:??? 経過 他のJDBC アプリでログが出力されていたので アプリのソースってことがわかりました。 しかし、ゴミになるってことはなに?ソースを追うしかないのか? : NAME IS NULL [sage] 2008/06/02(月) 22:30:25ID:??? 自己れす 解決 connect まではログにでているので、select 文を べた書きにしてうまく流れたので 元に戻して 確認。 jdbc のバージョンがでるところからおかしくなっていたのでJDBCなのか? そうなのか? : NAME IS NULL [sage] 2008/06/07(土) 04:02:12ID:??? 質問させて下さい。 これまで、Linux上で動作させていたphpスクリプトをWindowsに以降しようとしているのですが phpからMySQLにINSERT文を行ったのですが、文字化けしてしまいます。 どうすれば直りますでしょうか? ・WindowsXP(Pro) ・php-5.2.5-Win32.zip ・mysql-5.0.45-win32 1※ mysql> SET CHARACTER SET SJIS; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'character_set%'; | Variable_name | Value | character_set_client | sjis | character_set_connection | latin1 | character_set_database | latin1 | character_set_filesystem | binary | character_set_results | sjis | character_set_server | latin1 | character_set_system | utf8 | character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\c : 303 [sage] 2008/06/07(土) 04:09:00ID:??? 続きです。 2※phpスクリプト内部でINSERT文を実行する前に次のコードも入れています。 mysql_query('set character set sjis',$dbHandle) 3※組み立てられたSQLを画面上に print(""); で確認すると正常に日本語が入力されています。 4※MySQLのデータ操作を行う際にCSEも使っているのですが、CSEよりテーブルを開き直接日本語 を登録すると、その値は正常に日本語で登録されています。しかし、phpにて一覧出力すると ??? という 具合に文字化けしてしまいます。 あと、追加で質問させて頂きたいのですが、コマンドラインからMySQLを再起動するには 何というコマンドを実行すればよいのでしょうか?ぐぐっても中々ヒットしませんでした。 因みに、GUIツールとして MySQL Query Browserを使用しているのですがここから再起動とかも出来る のでしょうか? : NAME IS NULL [sage] 2008/06/07(土) 06:46:22ID:??? ,304 まず、my.iniの設定から見直してみよう。 その show variables の結果から、サーバがLatin1で起動されてるのが分かる。 create databaseやcreate table時の指定が分からんからなんともだが、そのまま作成したとしたなら、 仮に、"set names cp932"したところで、変更されるのは"connection"と"client"のみ。 なので、mysqldがデータを受け取った時に、内部の保存コードである"latin1"に変換をかけてしまう。 そこで、当然cp932(ms-sjis)はlatin1にマップ出来ないので文字列が壊れる。 回避策は、以下の件とも絡むので後述。 > コマンドラインからMySQLを再起動するには の件だけど、恐らく、のpathから見て、インストーラでデフォルト設定でinstallしたんだろうけど、 それだと多分、Windowsのサービスに登録されてるはず。その場合はDos窓から、 nat start mysql (mysql5かも?) で起動、 net stop mysql (同上) で停止。 多分自動起動になってると思われるから、Winを立ち上げると同時に起動してるはず。 コントロールパネル→管理ツール→サービスからでも起動、停止が行える。 (QueryBrowser等GUIツールは使ったことないんで、ようわからん。すまん) 起動だけなら、install_pathのmysqld-nt.exeをダブルクリックか、Dos窓から、直接そのmysqd-nt.exeを叩けばよい。 停止は、install_path/bin/mysqladmin shutdown で。 : 305 [sage] 2008/06/07(土) 06:46:57ID:??? 続き で、その起動時にオプションで、設定ファイル(my.ini)を読み込ませたり、charset他各種設定オプションを渡したりできる。 サービス登録の場合も、上記の「管理ツール」→「サービス」から、起動時のコマンドラインオプションを設定できる。 なので、charset等適切に編集したmy.iniを読み込ますように起動させればよい。 具体的な設定方法などは、本家のManual等を参照してくれ。 ちなみにWin版のバイナリ版phpは、php_mysql.dllがlatin1でコンパイルされてるので、 上記のことをやってなお、接続時に全てのクエリの前に "set names cp932" 等の処置が必要。 又は、上記の設定ファイル中で書くやり方もある。 それでは、がんばってくれ。 : 306 [sage] 2008/06/07(土) 06:54:54ID:??? ごめん。一つうそついてしまった。 php_mysql.dllじゃなくて、正確にはmysqlに付属のlibmysql.dllが、 デフォルトコードLatin1でコンパイルされているの間違い。 (まあ、phpバンドルのlibmysql,dllも同じことなんだけど) : 303 [sage] 2008/06/07(土) 15:37:12ID:??? さん ご丁寧にレスありがとございます。 色々とお教え頂いた様に試してみたのですが相変わらず、文字化けしてしまします。 1.my.ini [client] default-character-set=sjis [mysql] default-character-set=sjis [mysqld] default-character-set=sjis skip-character-set-client-handshake 2.文字コード mysql> SHOW VARIABLES LIKE 'char%'; | character_set_client | sjis | character_set_connection | sjis | character_set_database | sjis | character_set_filesystem | binary | character_set_results | sjis | character_set_server | sjis | character_set_system | utf8 | character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ : 303 [sage] 2008/06/07(土) 15:43:13ID:??? 続きです。 3.php内部での文字コードの設定部分 mysql_query("SET NAMES sjis"); 4.phpでテーブルより取得した値をsjisに変換した上で画面に出力 while($row = mysql_fetch_array($rs)) { /* 内部文字エンコーディングからSJISに変換 */ $str = $row["NAME"]; print("文字チェック1:[ ".$str." ] <br/>"); $str = mb_convert_encoding($str, "SJIS"); print("文字チェック2:[ ".$str." ] <br/>"); ↓出力結果 文字チェック1:[ ?????l ] 文字チェック2:[ ?????l ] : 303 [sage] 2008/06/07(土) 17:57:02ID:??? 自己解決しました。 ・・・MySQLってなかなか一癖ありますね。。。 思わぬ落とし穴がありました。 : NAME IS NULL [sage] 2008/06/08(日) 04:27:00ID:??? どう解決したかを書かないと意味がないだろ。 自分がよければそれでいいのかい? とりあえず文字コードを多重変換して嵌ってたんだろうと推測しとく。 : NAME IS NULL [sage] 2008/06/08(日) 15:15:06ID:??? 良いよ だって自己解決したんだし。 : NAME IS NULL [sage] 2008/06/13(金) 12:07:29ID:??? 質問です。 PHPとMySQLの連携を考えており、DBに接続して PHPから表示させることは出来ました。 SELECT文についての質問ですが、今現在以下の通りになっています。 SELECT * FROM wp_posts WHERE ID = 30 OR ID = 190 OR ID = 170 ORDER BY ID DESC これをPHPでwhileを使って縦に順番に表示すると、 ID=190、ID=170、ID=30の順番で書き出されました。 この表示する順番を、一番上からID=30、ID=190、ID=170と、 SELECT文に記述されたIDの順番通りに表示するには、どうすればよいでしょうか? なにかいい案がある方、いらっしゃいましたらご教示下さい。 : NAME IS NULL [sage] 2008/06/13(金) 12:35:19ID:??? select * from wp_posts order by (case ID when 30 then -3 when 190 then -2 when 170 then -1 else ID end) asc; : NAME IS NULL [sage] 2008/06/21(土) 20:46:10ID:??? union使えば? : NAME IS NULL [sage] 2008/07/12(土) 01:40:35ID:??? MySQLはXen上では使えないんですか? CentOSのDomU上でMySQL5を使っておりますが、 Buffer I/O error とやらが大量に出てきて、ファイルシステムが落ちます。 再現するのはMySQLが動いている時だけなので、MySQLが原因とみて間違いないと思います。 ディスクもディスクイメージも壊れていませんが。。。メソメソ : NAME IS NULL [sage] 2008/07/13(日) 22:11:33ID:??? configureのときに--skip-bdbだったかな。 : 316 [sage] 2008/07/14(月) 00:34:32ID:??? ありがとう。試してみる。 : NAME IS NULL [sage] 2008/07/14(月) 20:39:43ID:??? PAM-MySQL の導入を検討しているのですが、 (see: ttp://http://pam-mysql.sourceforge.net/Documentation/package-readme.php) crypt の値として平文、crypt(3)、PASSWORD()、MD5() を選択できるのですが、 平文は論外として、どの選択がよりセキュアなのでしょうか? : NAME IS NULL [sage] 2008/07/15(火) 22:00:56ID:??? です。自分でも調べてみようかと思いソースを覗いてみたら crypt=4 (or "sha1") で SHA1 が使えたみたいなのでこれを使ってみることにします。 # と思ったら Web に書いてないだけで README に書いてあったorz : NAME IS NULL [] 2008/08/02(土) 18:51:16:ag3OZJze 4に戻したいですぅ : NAME IS NULL [sage] 2008/09/06(土) 16:57:02ID:??? gooでも質問したのですがこちらでも質問させてください。 CentOS 4.6 に MySQL 5.0系をインストールして port 80番で運用したいと考えています。 ところが、ポート80を指定して起動させると 以下のエラーになり、起動できませんでした。 mysqld started InnoDB: Started; log sequence number 0 43655 [ERROR] Can't start server: Bind on TCP/IP port: Permission denied [ERROR] Do you already have another mysqld server running on port: 80 ? [ERROR] Aborting 80番を使用する http は停止させており、 iptables を停止させてもダメでした。 別のシステムで CentOS をインストールした直後のものに MySQL をインストールしても同じ状態でした。 ちなみにMySQL 4.1 系では同じ条件下の環境で my.cnf の[mysqld] で「 port = 80 」を 指定するだけで起動できました。 MySQL は CentOS のサイトからSRPMパッケージを取得し、 i686オプションを指定してリビルドしたものを使用しています。 今まで行ったのは次の通りです。 ・コンフィギュアオプションをデフォルトでインストール。 my.cnf の[mysqld] で「 port = 80 」を指定。 ・specファイルのコンフィギュアオプションに 「--with-tcp-port=80」を指定してリビルド。 サーバの環境は以下の通りです。 CentOS 4.6 MySQL 5.0.54(SRPM から RPM を作成してインストール) インストールしたパッケージ mysql-libs-5.0.54-1.el4.centos mysql-5.0.54-1.el4.centos mysql-devel-5.0.54-1.el4.centos mysql-server-5.0.54-1.el4.centos どなたかおわかりの方、情報をお願いできませんでしょうか。 よろしくお願いいたします。 : NAME IS NULL [sage] 2008/09/06(土) 17:47:53ID:??? 1024未満のポートを使うにはroot権限が必要だから どうしても80番を使いたければ iptablesのNAT機能を使って80から3306へ変換しなさい 80番を使う動機を推測すると、たぶん外に公開したいのだろうから stunnelやstoneなどのSSLプロキシを使うと更によいと思う : NAME IS NULL [sage] 2008/09/06(土) 17:50:16ID:??? rootじゃないと80番は使えないんじゃ : NAME IS NULL [] 2008/11/10(月) 23:47:11:4lZdswNB DBから値が取得できません。下記の設定のどこがまずいのでしょうか? エラーにもなりません。教えてください。 【web.xml】 <web-app> <resource-ref> <res-ref-name>aiueo</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app> 【server.xml】 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/testtest" docBase="testtest" > <Resource name="aiueo" auth="Container" type="javax.sql.DataSource" /> <ResourceParams name="aiueo"> <parameter> <name>username</name> <value>myusername</value> </parameter> <parameter> <name>password</name> <value>mypassword</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql//localhost/testdb?autoReconnect=true&characterEncoding=ujis</value> </parameter> </ResourceParams> </Context> </Host> : NAME IS NULL [] 2008/12/03(水) 07:14:35:Tn2R8xLf configureコマンドで、with-mit-threadを指定する場合と指定しない場合で何が違うのでしょうか? 自分の理解としては、with-mit-threadを指定するとOSが提供しているスレッドを使って、 with-mit-threadを指定しない場合は、MySQLが提供しているスレッドの仕組みを使うという認識なのですが、あってますでしょうか? ちなみにOSは、FreeBSD5系なのですが、どっちにしたほうがいいとかありますでしょうか? : NAME IS NULL [] 2009/02/21(土) 15:56:28:fHAIG+ux >MySQLが提供しているスレッドの仕組みを使うという認識 ちがうよ。 : NAME IS NULL [sage] 2009/03/28(土) 15:52:58ID:??? MySQL初心者です。 テーブル名が(なぜか)小文字で作成されてしまった様なので テーブル名を大文字に変更しようと思い、次のクエリを実行したのですが 一向に大文字になりません。一体何が原因なのでしょうか? ALTER TABLE test_table RENAME TO TEST_TABLE : NAME IS NULL [sage] 2009/03/28(土) 16:41:02ID:??? PHP5 / MySQL5.0を使用して簡単なデータベース登録 システムを作っているのですがどうやっても 日本語を登録すると文字化けして困っています。 どうすれば日本語が登録出来ますか? ※WindowsXP Pro 【C:\my.cnf】 [client] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis [mysqld] default-character-set=sjis 【C:\Program Files\MySQL\MySQL Server 5.0\my.ini】 default-character-set=sjis [mysqld] default-character-set=sjis ※基本このファイルの中にある「utf8」は全て 「sjis」に置き換えました。 : NAME IS NULL [sage] 2009/03/28(土) 22:05:16ID:??? OSはlinux? MySQLのテーブル名はそのままファイル名になるから Windowsみたいにファイル名が大文字小文字区別しない環境だと MySQLからも区別できないよ : NAME IS NULL [sage] 2009/03/28(土) 22:10:47ID:??? PHPは使ってないけど、PHPのMySQLライブラリは my.cnf 参照してないって 聞いたことがある。デフォルトの laten1になるはず。 サーバの設定変更していいなら [mysqld] に skip-character-set-client-handshake を書くか クライアントでなんとかしたいなら接続語に set names cp932 を投げたらいい。 ちなみに sjis は 4.1 以降では使わないほうがいいよ。 より広い cp932 で。 : 329 [sage] 2009/03/28(土) 22:55:14ID:??? レスありがとうございます。結論から言うと正常に日本語も登録されていました。 しかしCSEでのぞいていた為に文字化けしている様に見えただけでした。 odbcの文字コードの設定を sjis にしたら無事CSEからでも文字化けせずに見る 事が出来る様になりました。 : NAME IS NULL [sage] 2009/03/29(日) 19:39:13ID:??? TimeStamp型で定義したテーブルからデータを取得し、取得したデータを として取得するにはどうすれば良いでしょうか? 2009-03-25 14:06:15 ↓ 2009年03月25日 14時06分15秒 : NAME IS NULL [sage] 2009/03/29(日) 22:40:01ID:??? 日本語でおk : NAME IS NULL [sage] 2009/03/29(日) 23:36:13ID:??? そういう処理はSQLでやるべきでない。 : NAME IS NULL [sage] 2009/03/30(月) 00:23:52ID:??? いやPHPでやる位ならSQLで一発でやりたいのです。 何か方法はありませんか? : NAME IS NULL [sage] 2009/03/30(月) 00:42:31ID:??? おまえみたいな人間は生きているべきでない。 : NAME IS NULL [sage] 2009/03/30(月) 01:06:23ID:??? 手荷物預かり所で「あのう、このカバンの色を変えたいのですが」と言ってるのと同レベル : 333 [sage] 2009/03/30(月) 01:13:56ID:??? で結局やる方法は無いの? : NAME IS NULL [sage] 2009/03/30(月) 02:18:03ID:??? やる方法はある でも多分PHPで書くより遅い mysql> select concat(year(c1),'年') from (select now() c1) v; +------------------------+ | concat(year(c1),'年') | +------------------------+ | 2009年 | +------------------------+ 1 row in set (0.00 sec) : NAME IS NULL [sage] 2009/03/30(月) 02:20:30ID:??? date_format() つかえ。 : NAME IS NULL [sage] 2009/03/30(月) 02:43:09ID:??? ??? てっきりSQLでやった方が速いと思ってたのですがPHPの方が速いのですか? それはなぜなのでしょうか? あと、SQLサンクスです。 ちょっとリファレンスを見てみます。 : NAME IS NULL [] 2009/04/13(月) 16:46:07:H6WHEd1c オートインクリメント有りのテーブルにレコードを入れた直後に それが何番に入ったかを知る方法ある? : NAME IS NULL [sage] 2009/04/13(月) 17:14:42ID:??? ↑ 口の聞き方に気をつけろ : NAME IS NULL [] 2009/04/14(火) 11:11:22:9P4yOkB6 質問させてください。 id(ユニーク)とcount の二つのカラムがあるテーブルがあったとして、 このテーブルに入っているレコードをcountでorder by したあと、特定のid、例えばid=10 の前後5個分のレコード(つまり、id=10を入れて11個のレコード)を取得したいとき、どのようなSQLを発行すればよいでしょうか?? ご教示頂けると幸いです。 : NAME IS NULL [sage] 2009/04/14(火) 11:18:19ID:??? ぐぐれかす : NAME IS NULL [sage] 2009/04/14(火) 22:04:20ID:??? SELECT LAST_INSERT_ID(); : NAME IS NULL [] 2009/04/21(火) 22:28:27:SBmgavX0 SELECT LAST_INSERT_ID(); : NAME IS NULL [sage] 2009/04/21(火) 23:49:08ID:??? 買収されてしまいました : NAME IS NULL [sage] 2009/04/22(水) 00:03:09ID:??? どうなるんだろうね つぶされちゃうのかな : NAME IS NULL [sage] 2009/04/22(水) 01:34:01ID:??? 今更潰すは、さすがに考えにくいんじゃないの。 ポスグレに持っていかれるくらいなら、撒き餌として残すだろ。。たぶん。 : NAME IS NULL [sage] 2009/04/22(水) 17:41:38ID:??? mysqlはoracleの下位バージョンとして開発し その上位バージョンとしてoracleを持ってくることで フリーと商用のシェア拡大を目指す : NAME IS NULL [sage] 2009/04/22(水) 23:11:23ID:??? MySQLの次期バージョンを出したり将来のビジョンを提示したりして 今後も発展するんだ、安心だ、と思わせといて飼い殺す。 : NAME IS NULL [sage] 2009/04/23(木) 05:37:34ID:??? oracleもタダで使う方法もあるしな : NAME IS NULL [sage] 2009/04/23(木) 10:48:53ID:??? win版の5.0.77-community-ntですがCSVエンジンを利用するにはどうすれば良いですか? show enginesでNOになってます。 : NAME IS NULL [] 2009/04/28(火) 01:22:42:+/FWF+FK MySQLのオラクルマスターを作ればMySQLに力を入れる MySQLのオラクルマスターを作らないならMySQLに力を入れない : NAME IS NULL [] 2009/04/28(火) 08:46:32:aHnBfSXl SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; にして、mysqlを二個立ち上げて、両方から BEGIN; して、片方で適当にINSERTしてコミットしてないのに、もう片方からは SELECTするともう見えてるんだけど、これでいいのでしょうか? テーブルはInnoDBで作ったけど。 : NAME IS NULL [sage] 2009/04/28(火) 08:58:40ID:??? よくないよ どこか間違ってるよ : NAME IS NULL [] 2009/04/28(火) 09:00:39:aHnBfSXl 最初に両方からSelectをやっとくと、その後片方がINSERTしたのがもう片方からすぐに 見えるんだけど、なにか間違ってるんでしょうか? : NAME IS NULL [sage] 2009/04/28(火) 15:24:24ID:??? ■セッション1 mysql> set transaction isolation level serializable; Query OK, 0 rows affected (0.00 sec) mysql> select * from test; Empty set (0.00 sec) ■セッション2 mysql> set transaction isolation level serializable; Query OK, 0 rows affected (0.00 sec) mysql> select * from test; Empty set (0.00 sec) ■セッション1 mysql> begin; Query OK, 0 rows affected (0.00 sec) mysql> insert into test values (1); Query OK, 1 row affected (0.00 sec) ■セッション2 mysql> select * from test; Empty set (0.00 sec) みえないよ? : NAME IS NULL [sage] 2009/04/28(火) 22:31:31ID:??? テーブルが InnoDB じゃなくて MyISAM になってるとか。 : NAME IS NULL [] 2009/05/01(金) 01:09:50:vXvzRfg3 すいません質問させてください。 ttp://http://q.hatena.ne.jp/1179443422 このページと同じ質問なのですが、やはり3番のsqlがベストなのでしょうか?? 「特定のカラムの値がそのテーブルの特定の条件のもとで最大値を有しているレコードをselectする」というのが割と簡単にできるのではないかと思っていたのですが、 ここの回答のように副問い合わせするのが一番無難な感じなのでしょうか? order by xx desc limit 0, 1 も試してみましたが、全レコードをsortするためか、副問い合わせを使ったものよりレスポンスが遅めでした。(レコードが10万件くらいある。。) アドバイス頂けると幸いですm(_ _)m : NAME IS NULL [sage] 2009/05/01(金) 03:24:22ID:??? Table構成がそのはてなの質問と同じとして、id及びgoods_idに 複合インデックスが貼ってあり、それがユニークか、Hit率がテーブル全体のレコード数より 十分少なければ、order by descが早いんでないかな。 もっと言うと、INDEX(id,goods_id,date)で複合インデックスがあればなおよし。 でなくて、idとgoods_idの値が、レコード全体の多くにHitしてしまう場合は、 そこにあるようにサブクエった方が早そうな感じ(もちろんdateにインデックスが貼ってあるとして)。 : NAME IS NULL [sage] 2009/05/01(金) 17:12:12ID:??? 質問ですが、 以下の感じでやろうとしてます select 学生id ,出席日数,出席率 from 学生名簿 left join (select sum(出席) as 出席日数 , sum(round(出席数/365,2)) as 出席率 ,学生id from 出席簿 where 学生id in ( select 学生id from 学生名簿 order by 学生名 limit 0,50) group by 学生id) as 出席データ on 出席データ.学生id=学生名簿.学生id order by 学生名 limit 0,50 学生名簿(カラム):学生id(primarykey),学生名 出席簿(カラム):学生id,日付,出席(enum(1,0)) limitができれば高速になるんですが、ないとusingfilesortになります。 mysqlでサブクエリにlimit発行できないので、なにかいい方法があればご教授願います。 : NAME IS NULL [sage バッドノウハウ集] 2009/05/01(金) 19:05:41ID:??? 俺なら、状況に応じて以下のどれかで対応する。 ・クエリキャッシュをアテにする ・バッチで予め計算しちゃう ・クエリを分割する ・テーブル分割をやめる ・全部抜いてから計算する ・そもそも高速化する必要があるか考える : NAME IS NULL [sage] 2009/05/02(土) 00:09:29ID:??? なあ、ちょっと真剣にマジで教えてほしい あるデータベースのプライマリキーをキャラクタ属性で設定することのデメリットって何だと思う? キーはINTにすんのが検索も早そうだし、多分そうなのかも知れんが納得できる理由がはっきりしない まあCHARだとコレーションで正しくソートされない可能性があったりCOUNTが正しくされないのかも知れないけど 現場レベルでは盲目的に数値型にしてるような気もすんだよね 何か論理的な理由を聞かせてもらえないか? : NAME IS NULL [sage] 2009/05/02(土) 00:12:02ID:??? あんたの現場がすべてではないよ。 単にDB設計をさぼってるだけで、 安易に一意になるものということで連番振ってるだけでしょ。 : NAME IS NULL [sage] 2009/05/02(土) 00:27:22ID:??? プライマリーキーはchar型かそれとも数値型か ttp://pc11.2ch.net/test/read.cgi/db/1156315045/ : NAME IS NULL [sage] 2009/05/02(土) 00:36:49ID:??? >( select 学生id from 学生名簿 order by 学生名 limit 0,50) 一見するとこれいらないと思うんだが。 : NAME IS NULL [] 2009/05/02(土) 23:21:14:iDaEn/bV 3つのテーブルをjoinするときに、 A left join B on A.id=B.id left join C on B.id=C.id というふうにするのと、 (A left join B on A.id=B.id ) left join C on B.id=C.id というふうに括弧で囲むのとって、どちらのやりかたが適切とかありますか? : NAME IS NULL [sage] 2009/05/03(日) 09:13:50ID:??? 変に括弧とかかかないで 最適化はMySQLに任せてしまったほうがいい・・・はず : NAME IS NULL [] 2009/05/03(日) 22:18:47:EMVU4nk/ すみません。今日はじめてXAMPPからMySQLをインストールしたんですが デフォルトでパスワードが無い状態なので、掛けようと思うのですが、 掛け方はいろいろ書いてあるのですが、みんなどこに書いているのかが分かりません。 コマンドプロンプトかと思って入力しても、エラーがおこるのですが どこに入力したらよろしいのか教えてください : NAME IS NULL [sage] 2009/05/04(月) 00:04:54ID:??? 絶対に括弧で囲まないとだめ。 joinするときの結合キーがそのテーブルのprimary keyなら結果は同じなんだけど、 そうでない場合、括弧で囲む場合と、そうでない場合で結果がかわる。 なぜかというと、括弧なしの場合、AとBをjoinした結果フェッチする行数が存在しない場合でも、 BとCのleft joinを行うからだ。 : NAME IS NULL [] 2009/05/04(月) 06:11:39:pQt/LC0v 質問です。 バイナリログがうまく書き込めないんです。 以下のようなログが出てます ---------------------------------------------- /home/mysql/data$ mysqlbinlog mysql-bin.000008 /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; mysqlbinlog: File 'mysql-bin.000008' not found (Errcode: 13) # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; ---------------------------------------------- 何か原因として考えられることはありますか? : NAME IS NULL [sage] 2009/05/04(月) 09:26:12ID:??? mysql-bin.000008 かそれが置いてあるディレクトリにパーミッションがない。 : NAME IS NULL [] 2009/05/05(火) 19:52:00:+Yc0J8ac バイナリログに、いつもファイルの最後にこんなのがでるんだけど。 ROLLBACK /* added by mysqlbinlog */; これ、何かわかる人いますか? : NAME IS NULL [sage] 2009/05/05(火) 21:41:38ID:??? 読んでそのままでは? : NAME IS NULL [] 2009/05/05(火) 22:20:56:+Yc0J8ac コメントを訳すと、mysqlbinlogによって追加されました、となるけど、 なんで追加するのかなーと。なんでROLLBACKする必要があるのかと。 : NAME IS NULL [sage] 2009/05/06(水) 15:32:14ID:??? A left join ( B left join C on B.id=C.id ) on A.id=B.id : NAME IS NULL [sage] 2009/05/08(金) 04:03:39ID:??? 流石にそれはない : NAME IS NULL [] 2009/05/11(月) 12:33:48:gPGRNLrz ネットワーク越しに接続させたいので、ユーザXXXに10.1.1.1から接続できるように設定したいと思ってます。 userテーブルにはXXXがlocalhostから接続できるという設定の行があるので、それを流用したいとおもっている のですが、そんなこと可能でしょうか? 自分でINSERT文を書くのはできれば避けたい('Y'とか'N'が多すぎるし)のですが、普通は自分でINSERT文を 書くべきなのでしょうか? よろしくお願いします。 : NAME IS NULL [] 2009/05/11(月) 13:00:22:gPGRNLrz 例えば、ストアドプロシージャを書いて、その中でSELECTの結果を保存して、 一部を書き換えて、INSERTの引数として使うこととかってできますか? : 362 [] 2009/05/11(月) 16:32:24:l33ZsoDq お礼遅れてすいません。ありがとうございます。 やはり自分のところではorder by よりmaxのサブクエリを使った方が早いみたいでした。 : NAME IS NULL [] 2009/05/11(月) 19:39:27:gPGRNLrz selectの結果を保存するのは出来ない気がしてきたので、ストアドプロシージャの練習を兼ねて 書いてみました。 DELIMITER // CREATE PROCEDURE net_user_enable(IN myhost CHAR(64), IN myname CHAR(64), IN mypassword CHAR(64)) BEGIN -- 1: USERテーブルにユーザとホストの組み合わせを追加 INSERT INTO mysql.user VALUES (myhost,myname,PASSWORD(mypassword),'N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0); -- 2: dbテーブルにホストを追加 INSERT INTO mysql.db VALUES (myhost,'%',myname,'Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); FLUSH PRIVILEGES; END // DELIMITER ; -- こんな感じで使ってね。 CALL net_user_enable('localhost','hoge','hogeのパスワード'); : NAME IS NULL [] 2009/05/12(火) 00:12:08:v5EaLHhs CREATE FUNCTIONで関数定義するとき、SELECT文を使えないのでしょうか? CREATE FUNCTION hogefunc(num INT) RETURNS INT BEGIN SELECT "hogehoge"; RETURN 2; END// こう書いても受け付けてくれません。 : NAME IS NULL [sage] 2009/05/17(日) 08:44:42ID:??? database「hogedb」の中にテーブル「hoge」「age」「sage」を作ったのだが、 うち一つはselect時にselect * from hogedb.hogeのようにデータベースを指定しないとエラーになる。 なんで?? エラー内容; RROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'hoge' at line 1 : ワークベンチ [sage] 2009/05/17(日) 08:48:02ID:??? Workbenchでテーブルを作成しました。ここからCREATE文のスクリプトを作成することは出来ますが ついでにInsert文のスクリプトも作成することは可能でしょうか? (テーブルのタブに「Inserts」というのがあり、ここで投入用のデータをエディタで書けるのだが、ここからどうすればスクリプトに落とせるのか不明) 知ってたら教えて下さい : 386 [sage] 2009/05/17(日) 08:59:05ID:??? ttp://http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9188.txt 違ったデータベース名、テーブル名は関係なかった。よくよく見るとスクリプトでテーブルを作るときに警告が 出てた。上にアップしたスクリプトは簡単なテーブルを3つ作るだけなのだが、何がおかしいのだろうか 単純にselect * from order;がエラーになる。(データベース名を指定するとおk) : 386 [sage] 2009/05/17(日) 10:38:07ID:??? 予約語だった。。。知らなかった ちくしょー!! : NAME IS NULL [] 2009/05/17(日) 20:25:32:vKUcKlyZ ユーザーがグループに所属していて、グループもまた別のグループに所属しているような階層構造になっている場合、 どうやって所属情報をDBに入れるのが賢いの? 上位グループに所属するユーザーを抽出するクエリがつくりにくいんだけど : NAME IS NULL [sage] 2009/05/17(日) 22:33:04ID:??? RDBMS向きじゃないね。 : NAME IS NULL [sage] 2009/05/18(月) 00:00:52ID:??? >どうやって所属情報をDBに入れるのが賢いの? MySQL捨ててPostgreSQLに入れるのが賢い。 : NAME IS NULL [sage] 2009/05/18(月) 06:05:35ID:??? 何の問題も無いだろ : NAME IS NULL [sage] 2009/05/18(月) 07:09:02ID:??? Postgresは現行VerでもOracle風のconnect byが使える。 もうすぐ出る次期VerではSQL99準拠のWITH RECURSIVEも 使えるらしい。 : NAME IS NULL [sage] 2009/05/18(月) 17:30:27ID:??? 日本語でおk : NAME IS NULL [sage] 2009/05/18(月) 18:03:51ID:??? ツリーってDB入れるの無理だろ : NAME IS NULL [sage] 2009/05/18(月) 19:06:38ID:??? ttp://www.efukt.com/images/EFBIG.jpg : NAME IS NULL [] 2009/05/19(火) 02:33:18:WKjGD5xV dumpが出来ないです mysqldump -u root hoge > c:\backup\dump.sql とMysqlコマンドに入力すると Unknown command '\b'. -> となるだけでdumpできません Cドライブにbackupファイルも作ってありますが、何か足りないのでしょうか? : NAME IS NULL [sage] 2009/05/19(火) 03:19:57ID:??? そのためOracleとかでは階層問い合わせをするための独自の文法が定義 されているし、標準SQLでもSQL99以降で再帰クエリを記述する文法が 追加されている。 こういった拡張を使うとツリーに対する検索とかのクエリなんか はもっと簡単に書けるよ。 で、フリーのRDBMSではPostgreSQLがこのあたりの拡張によく対応して いるから、一つの選択肢として紹介したわけで。 ttp://http://lets.postgresql.jp/documents/technical/with_recursive/ MySQLというか再帰が無いSQLで書く技もあるけど、結構な頭の体操。 ttp://http://www.mysql.gr.jp/mysqlml/mysql/msg/12071 : NAME IS NULL [sage] 2009/05/19(火) 03:37:21ID:??? 随分なスロークエリの悪寒。。しんどいね。。 : NAME IS NULL [sage] 2009/05/19(火) 09:27:40ID:??? mysqldumpはmysqlクライアント上のコマンドじゃなくて 単体のプログラムだ : NAME IS NULL [sage] 2009/05/19(火) 16:26:07ID:??? ありがと ばっちりできました : NAME IS NULL [sage] 2009/05/19(火) 18:06:12ID:??? 再帰が無いSQLで書く技を使えば他のSQLに乗り換えるときコード修正不要? : NAME IS NULL [sage] 2009/05/19(火) 22:03:06ID:??? 他のSQLにも色々あるしなぁ。 シンプルなselectひとつ取っても、 例えばSQLiteでは使えるカラム名が MySQLでは予約語だったりするしなぁ。 : NAME IS NULL [sage] 2009/05/20(水) 08:40:18ID:??? キーワードじゃない語は全部ちゃんと クォートすれば。 : NAME IS NULL [sage] 2009/05/20(水) 17:58:15ID:??? 気本棚 : NAME IS NULL [] 2009/05/23(土) 17:45:10:2SizHsxE 始めてデータベースを移転するのですが教えてください mysqldumpでやったのですが Aserver からBserverに全てのデータを移転するのですが 先ずAserver で mysqldump -A -u root -p a234abc --opt > dump.sql rsync -avz -e ssh /root/mysqldump/ Bserver:/root/mysqldump/ でAserverのdump.sqlをBserverに移して Bserverに入って cd /root/mysqldump mysql -u root -p 1234abc < dump.sql としたのですがpasswd を聞いてくるのでパスワードを入力しても ERROR 1049 (42000): Unknown database '1234abc' とエラーが出ます間違った操作をしているのでしょうが何が悪いのか 解りませんどなたか教えていただけませんか Aserverはmysql4.1ですBserverはmysql5.0 です : NAME IS NULL [sage] 2009/05/23(土) 21:35:18ID:??? 1234abcなんかしらないとエラーが言っている : NAME IS NULL [sage] 2009/05/23(土) 22:13:08ID:??? 先に create database 1234abc; をする : NAME IS NULL [] 2009/05/24(日) 11:57:46:zGV2NEj3 便乗質問です。 mysqlってダンプファイルの中身見て、ロード先のDBに必要な データベースがなかったら自動的に作成してくれるもんじゃないの? : NAME IS NULL [sage] 2009/05/24(日) 12:30:22ID:??? ダンプファイルってつまり単なる普通のSQLの塊だから データをINSERTする前にテーブルをDROPしてCREATEするだけ。 それがダンプしたSQLの先頭にあるかないかの問題で、 MySQL側がどうこう言うことではないと思うが。 ダンプするツールが対応するか、もしくは手書きすべきだ。 : NAME IS NULL [] 2009/05/30(土) 23:42:08:59hmKSc9 すごい初心者な質問なのですが… phpMyAdminのインストールってデータベースを作った後からでも 大丈夫なのでしょうか? XREAでWordpressを使ってます。 MySQLからエントリーの中身をエクセルに落としたいのですが、 phpMyAdminをまだインストールしてませんでした。 XOOPSだと後からインストールすると問題ありな記事を読んだので ちょっと不安になってしまいまして… よろしくお願いします。 : NAME IS NULL [sage] 2009/05/31(日) 10:28:51ID:??? まったく問題ないと思うけど。。。 単なるPHPコードだよ? 何かあるわけない。 : NAME IS NULL [sage] 2009/06/01(月) 23:16:57ID:??? 助言をいただきたいのですが…。 SELECT t1.id, t1.data, t1.update FROM table_name t1 WHERE t1.update = (SELECT MAX(t2.update) FROM table t2 WHERE t1.id = t2.id) これは、重複するidを持つレコードが複数あるテーブルから、 更新日updateの一番大きいレコードだけをかいつまんで取得するSQL文です。 ここにさらに条件を加え、各idの「一番小さいupdate」をキーにソートしたいのですが、 効率の良いSQL文が書けません。 アドバイスをいただければありがたいです。 (グループ化とかいいつつ、結局GROUP BY使わない方法でやってますが…;) : NAME IS NULL [sage] 2009/06/01(月) 23:23:24ID:??? idと更新日のペアがタブっていたらどうするの? : NAME IS NULL [sage] 2009/06/01(月) 23:29:24ID:??? SELECT t1.id, t2.data, t1.max_update AS update FROM (SELECT id, MAX(update) as max_update, MIN(update) as min_update FROM table_name GROUP BY id) t1, table_name t2 WHERE t1.id = t2.id AND t1.max_update = t2.update ORDER BY t1.min_update : NAME IS NULL [sage] 2009/06/02(火) 10:48:25ID:??? idと更新日のペアは一意になるようになっています。 ありがとうございます! とても勉強になります。 : NAME IS NULL [sage] 2009/06/02(火) 11:23:58ID:??? PHP から MySQL を使っています。 SELECT で varchar(2000) の値を取得するときのことなのですが、 PHP 側ではこの値の冒頭200文字程度しか利用しないと分かっているとき、 はじめから SUBSTRING で値を削って取得するメリットは小さいでしょうか? 一般に MySQL で余計な関数を使うと処理が遅くなると聞きますので、 こういった文字列処理は値を取得しておいてPHP側でしたほうがよいですか? なんとなく、あらかじめ削っておけばメモリの消費が抑えられるのではないかという考えがよぎって迷っています。 : NAME IS NULL [sage] 2009/06/02(火) 13:02:24ID:??? グループ化についてもう一つ助言をいただきたいのですが…。 GROUP BY AAA, BBB これは、AAAとBBBが同一のものをグループ化すると理解しています。 そうではなく、AAAでグループ化して、さらにそれをBBBでグループ化する、 のようにGROUP BYを入れ子にするには、どのようなクエリを書けば実現できるのでしょうか? : NAME IS NULL [sage] 2009/06/02(火) 13:41:43ID:??? 考え方による。 大規模なwebアプリなら、圧倒的にPHP側で処理すべきと思う。 あなたの力量にもよるけど、突き詰めると、DB側で処理するメリットは無い。 DB側で処理すれば、結果セットが巨大でもデータ転送が速く、かつ省メモリ。 しかし、データが永続的に増える条件下での削減量はたかが知れてる。 DB側で処理すれば、PHPコードがシンプルになる。 しかし、マルチバイト文字の扱いが微妙だし、潰しが聞かない処理(リクエスト、関数、etc)が増える。 DB側で処理すれば、クエリキャッシュが効けば1回限りの処理で済む。 しかし、処理済みデータをオンメモリキャッシュしたほうが、もっと速い。 DB側で処理すれば、PHP側の処理が軽くなる。 しかし、DBよりPHPのほうが簡単にスケールできる場合が多い。 こんな感じでいかがかしら。 : NAME IS NULL [sage] 2009/06/02(火) 13:51:14ID:??? SELECT * FROM (SELECT * GROUP BY AAA) GROUP BY BBB ただしAAAでグルーピングした時点でBBBの内容は不定になっている。 これで目的が達成できているか、不明。 : NAME IS NULL [sage] 2009/06/02(火) 14:40:11ID:??? 不可能。 : NAME IS NULL [sage] 2009/06/02(火) 18:38:46ID:??? >AAAとBBBが同一のものをグループ化 えー、そうだっけ? : NAME IS NULL [sage] 2009/06/02(火) 19:28:58ID:??? GROUP BY AAA, BBB がそうだろ? : NAME IS NULL [sage] 2009/06/02(火) 22:06:54ID:??? GROUP BYを入れ子にって、いったいどういう結果を期待してんの? 勝手な言葉で質問しても解釈がまちまちだからごらんの有様だよ。 : NAME IS NULL [sage] 2009/06/03(水) 23:00:07ID:??? ありがとうございます!! : NAME IS NULL [sage] 2009/06/17(水) 20:22:30ID:??? accessから移植したいんだけど、最後に;をつけるだけでおk? create tableなんかはtype=InnoDB;つけないとだめ? : NAME IS NULL [sage] 2009/06/17(水) 21:07:07ID:??? データ型そんなに互換性ないだろう 全部見直さないとダメ : NAME IS NULL [sage] 2009/06/17(水) 23:21:33ID:??? access使うようなのがトランザクション処理が必要なのだろうか… myisamでいい気がするがなあ : NAME IS NULL [sage] 2009/06/18(木) 20:31:27ID:??? 大幅に見直すのはcreateのところだけじゃ不十分かな? select,insert,updateの構文は;つければ使えない? : NAME IS NULL [sage] 2009/06/19(金) 12:45:53ID:??? selectで、○番目と○番目のレコードを取得、ってしたいんですが、 limitで複雑な指定できませんよね? サブクエリを駆使するしかありませんか? イメージとしては、こんな感じに指定したいんです。 SELECT * FROM table LIMIT (0, 1 AND 5, 1) : NAME IS NULL [sage] 2009/06/19(金) 12:51:14ID:??? 見直しが極めて望ましい。 DBは意外と互換性がないので。 : NAME IS NULL [sage] 2009/06/19(金) 12:54:58ID:??? UNIONがおすすめ。 (1つ目のクエリ LIMIT 0,1) UNION (2つ目のクエリ LIMIT 5,1) いくつ繋げてもindex効くし、綺麗。 : NAME IS NULL [sage] 2009/06/19(金) 13:47:54ID:??? ありがとうございます! 各クエリともLIMIT部分以外が同一であっても、 やはりクエリの数だけ走査しなおしてしまうのですよね? : NAME IS NULL [sage] 2009/06/19(金) 17:54:37ID:??? SELECT SUM( p.point ) FROM point_table p GROUP BY p.id ORDER BY SUM( p.p.point ) DESC LIMIT 100 これは、各idのもつpointの合計値を、pointの多い順に上位100件取得するクエリです。 ここで得られるpointの合計値を求めたいのですが、 上のクエリをどのように修正すれば良いのでしょうか? : NAME IS NULL [sage] 2009/06/19(金) 18:43:32ID:??? つ EXPLAIN また、一時テーブルをつくる方法も。 : NAME IS NULL [sage] 2009/06/19(金) 19:38:32ID:??? なるほど、一時テーブルですか。検討してみます。 ありがとうございます! : NAME IS NULL [sage] 2009/06/20(土) 09:28:26ID:??? そのまま移植して動かして見てエラーが出たらなおせばいい : NAME IS NULL [sage] 2009/07/03(金) 12:40:09ID:??? MySQL を勉強中なのですが、クエリの最適化について悩んでいます。 SELECT d.date, i.ip, n.name FROM update_log d LEFT JOIN update_log i USING(id) LEFT JOIN update_log h USING(id) WHERE d.id = 100 AND i.ip IS NOT NULL AND n.name IS NOT NULL ORDER BY d.date DESC, i.date DESC, n.date DESC LIMIT 1 『条件』 ・update_log テーブルから、指定した id に該当するレコードのdate, ip, nameを取得する ・ただし、ip, name の各項は NULL 値が入っている可能性がある ・NULL 値ではない、もっとも date が大きいレコードを各項について取得する 上記クエリだと、取得にかなり時間がかかってしまうため、 よりよいクエリを発行したいのですが、よいアイディアが生まれません。 助言いただけましたらうれしいです。 : NAME IS NULL [sage] 2009/07/03(金) 13:04:22ID:??? nとhが混ざってね? それは置いといて、クエリよりインデックスの張り方の問題じゃないかな。 それぞれのテーブルに複合インデックスを張れば 普通に激速になりそうな気がする。 : NAME IS NULL [sage] 2009/07/03(金) 13:13:46ID:??? いや、よく見るとクエリも変? LEFT JOINいらなくね? 違うか? : NAME IS NULL [sage] 2009/07/03(金) 13:26:49ID:??? それ自己結合する意味あんの? 条件の1つ目と3つ目なんて違う話だし : NAME IS NULL [sage] 2009/07/03(金) 15:08:14ID:??? レスありがとうございます。 すみません、一個所 n が h になっていました。 インデックスは EXPLAIN 見ながら貼り直したりしてみたのですが、 特に変化はみられませんでした。 それぞれの値を取得するために、 3つばらばらにシンプルなクエリを発行したほうが良いということでしょうか? : NAME IS NULL [sage] 2009/07/03(金) 15:41:51ID:??? すみません、そもそもクエリが条件に合致していませんでした。 SELECT d.date, i.ip, n.name FROM update_log d LEFT JOIN update_log i ON (i.id = d.id) LEFT JOIN update_log n ON (n.id = d.id) WHERE d.id = 100 AND i.ip IS NOT NULL AND n.name IS NOT NULL ORDER BY d.date DESC, i.date DESC, n.date DESC LIMIT 1 : NAME IS NULL [sage] 2009/07/03(金) 19:52:22ID:??? サブクエリ使ってください select l1.date, l1.ip, l1.name from update_log l1 where id = <入力値> and date = ( select max(l2.date) from update_log l2 where l1.id = l2.id and l2.ip is not null and l2.name is not null ) : NAME IS NULL [sage] 2009/07/03(金) 21:14:10ID:??? それだと全フィールドがnullのレコードが選択されるんじゃね : NAME IS NULL [sage] 2009/07/04(土) 00:15:52ID:??? アドバイスありがとうございます。 いろいろ試した結果UNIONでつなげることで落ち着きました。 はじめのクエリだとなぜだめなのかが、よくわかりません。 500行のテーブルに対して10秒近くかかってしまっていました。 クエリのどこに原因があるのか、おわかりになる方いましたら、 ぜひ教えてください。m(_ _)m : NAME IS NULL [sage] 2009/07/07(火) 17:41:36ID:??? 二つのDATETIME型の差をTIMEDIFF関数を使って求めたのですが、838時間以上は丸められてしまいます。 正確な秒数を求める方法はありますか? : NAME IS NULL [sage] 2009/07/08(水) 18:44:51ID:??? time型ではそれ以上の時間は扱えない。 : NAME IS NULL [sage] 2009/07/17(金) 22:48:11ID:??? あるレコードを DELETE するのと あるレコードの主キーを UPDATE するコストっていうのはあまり変わらないですか? : NAME IS NULL [sage] 2009/07/18(土) 00:19:49ID:??? 全然違う。 DELETEは重い。頻度にもよるけど、リアルタイムで叩くなら、最もやってはいけない事。 一方、主キーを書き換えるのもヘン。主キーは唯一のレコードを特定するのに用いるべきで、 途中で書き換えてよいデータでは基本的にない。 : NAME IS NULL [sage] 2009/07/18(土) 05:01:47ID:??? コストがかかるのはindexがある場合のそのメンテと、外部キーの参照先になっている 場合とかだろ。deleteそのものはinsertとそんなに違うわけじゃない。 ところで、コストが全然違うと言いたいのか、どっちもコストがかかると言いたいのか どっちなんだ。 : NAME IS NULL [sage] 2009/07/18(土) 12:41:08ID:??? 感じ悪いスレだな : NAME IS NULL [sage] 2009/07/19(日) 00:31:12ID:??? 固定長のテーブルなら気にしない : NAME IS NULL [sage] 2009/08/02(日) 10:47:35ID:??? うん ただupdateにくらべてdeleteが死ぬほどおもいのはたしか : NAME IS NULL [sage] 2009/08/02(日) 11:39:00ID:??? MySQLの全文検索って日本語対応してますか? n-gram検索ですか?それとも分かち書きされたワード検索ですか? : NAME IS NULL [sage] 2009/08/02(日) 15:30:56ID:??? 分かち書きされたワード検索。 日本語も分かち書きすれば一応使える…けど普通はSenna使う : NAME IS NULL [sage] 2009/08/03(月) 21:38:34ID:??? そうなんですか。 ググったら、Sennaもワード検索と、あと2-gramをサポートということなんですね。 2-gramがあれば完全に自由な文字列でも検索できるのかな。 Debianではsennaのパッケージが見付からないのが残念です。 : NAME IS NULL [sage] 2009/08/03(月) 21:52:10ID:??? Windows XP SP3 MySQL 5.1 です、root のパスワードを忘れてしまいました Google でMysql パスワード 忘れたで検索しますが、的確なすべがわかりません ご教示願います。 : NAME IS NULL [sage] 2009/08/03(月) 23:22:30ID:??? 試してないが。これで駄目? ttp://http://miztools.so.land.to/php5_list/sql4_list/mysql_win.shtml : NAME IS NULL [sage] 2009/08/04(火) 21:23:23ID:??? さん ありがとうございます。 掲示していただいたURL 「root パスワードを忘れたときの 伝家の宝刀:1」ここに書かれている mysqld-nt にパラメータを付加し起動する方法を、試すのですがWindows版MySQL 5.1 にmysqld-nt.exe が無いので お手上げになっている状況です。 : NAME IS NULL [sage] 2009/08/05(水) 04:38:46ID:??? ちょっと考えれば分かるだろうけど、タスクマネージャで現在実行中のファイル名とか確認しましょうぜ。 ちなみにウチでは、テスト用ユーザーをたくさん作ったあと、権限テーブル初期化する時なんかは、 のサイトにある宝刀:2の方法でいつもやってるな。 まあ失いたくない情報なら、その時点でファイルのコピー取るなり、mysqlDB(ディレクトリ)以下のテーブルの dump取っとくことをお勧めする。 何、インストール時にそんなバックアップなんか取ってないって? それなら本家行って、初期状態のをとってくればよろしい。 : NAME IS NULL [sage] 2009/08/05(水) 21:38:30ID:??? さん です どうもです、 >>それなら本家行って、初期状態のをとってくればよろしい。 本家って ttp://http://www-jp.mysql.com/ ここのことだと思うのですが これって再インストールしろってことですか? : NAME IS NULL [sage] 2009/08/06(木) 06:37:10ID:??? ttp://http://dev.mysql.com/ : NAME IS NULL [sage] 2009/08/14(金) 20:39:45ID:??? ちょっとした事、教えてください。 on duplicate key update で insertした時、insertした内、何件がinsertで、何件がupdateだったとかって 判りますかね? そういうのが知りたい場合は on duplicate keyを使うべきではない? : NAME IS NULL [] 2009/08/15(土) 22:23:31:JM2SHLWw MySQLの設定について教えて下さい。 BLOB型にVB.NETから格納しようとINSERT文を使っても MySQL側の制限のせいでbyte配列の0番目の(63)しか格納できません>< ご回答よろしくお願いします。 環境 Ubuntu9.04 MySQL 5.0 VB.NET(mysql.data.dll使用) : NAME IS NULL [sage] 2009/08/16(日) 13:09:44ID:??? 質問になってないな… : NAME IS NULL [sage] 2009/08/16(日) 15:06:45ID:??? スキーマ、SQL文とか 制限があると判断した根拠がないとな。 : NAME IS NULL [sage] 2009/08/17(月) 14:44:57ID:??? 別ファイルにテーブル定義を作成してます(10テーブル)、そのファイルを MySQL に読み込ませて、新規テーブルを作成したいのですが、具具ってもコマンドが分かりません、教えてもらえないでしょうか。 : NAME IS NULL [sage] 2009/08/17(月) 21:49:18ID:??? mysql dbname < filename : NAME IS NULL [sage] 2009/08/22(土) 17:31:04ID:??? です お礼が遅くなりました、ありがとうございます。 : NAME IS NULL [sage] 2009/08/30(日) 21:09:54ID:??? mysqlの正規表現で文字列の部分抽出や置換はできないのでしょうか。 たとえば、下記のtema列値をタグを正規表現で除去して表示することは出来ますでしょうか? (どんなタグが入るか不明のため、正規表現で除去したいと思っています。) 低レベルな質問ですみませんが、お分かりになられる方が居られましたら ご教授よろしくお願いいたします。 sid | tema ---------- 1 | <b>その1</b> 2 | <I><b>その2</b></I> 3 | <b>その3</b> : NAME IS NULL [sage] 2009/08/30(日) 23:34:29ID:??? regexp ? rlike ? よく判んね w : NAME IS NULL [sage] 2009/08/30(日) 23:39:10ID:??? mysqlじゃ無理。おとなしくプログラムで対処するしかない。 : NAME IS NULL [sage] 2009/09/02(水) 17:36:46ID:??? MacOS X Leopard から SnowLeopard への以降に伴い、 MySQLを5.0(x86)から5.1(x86_64)にアップグレードしました。 このとき、データベースファイルはそのままコピーできるものなのでしょうか。 それともmysqldumpとかを使った方がいいのでしょうか。 5.0から5.1への移行における、おすすめのデータファイル移行方法を教えてください。 よろしくお願いします。 : NAME IS NULL [sage] 2009/09/05(土) 21:21:30ID:??? CPU違うならdumpしなきゃだめよ。 dumpだけでいいかはしらん。 : NAME IS NULL [sage] 2009/09/05(土) 23:09:50ID:??? MySQL で 5時間前 や 5時間後 を算出するにはどうすれば良いでしょか? AddHour(2)とかって関数は無いのでしょか? SELECT SYSDATE() + 5 / 24 FROM TEST_TABLE としているのですが変な値が返って来ます。 : NAME IS NULL [sage] 2009/09/05(土) 23:55:52ID:??? addtime : NAME IS NULL [sage] 2009/09/05(土) 23:59:45ID:??? サンクス : NAME IS NULL [sage] 2009/09/23(水) 15:29:42ID:??? 急な停電のためmysqlのデータベースファイルが壊れてしまったのですが myisamなテーブルはrepairで復旧できたのですが innodbの場合はrepairしようとするとエラーが出てしまうのですが何か復旧方法ってありますでしょうか? : NAME IS NULL [sage] 2009/09/23(水) 22:23:11ID:??? UPS使ってないシステムなんてしらん : NAME IS NULL [sage] 2009/09/24(木) 02:58:26ID:??? とりあえず現状をバックアップしてさらに壊したときに対応できるようにする。 んで innodb_force_recovery を6に。 : NAME IS NULL [] 2009/10/21(水) 20:25:16:G/42etG5 すいません。ここじゃないかもしれませんが知ってたら教えてください。 mysql workbench5.1.16 OSX版を使用していますが、 カラムの型をdouble (16,9)とかにしてもただのdoubleになってしまいます。 なんなんですかいったい。DBデザイナーだとちゃんといくのに。設定で回避できたりしないでしょうか?? : NAME IS NULL [] 2009/10/21(水) 23:05:05:nmNVAfvz MySQLでテーブルのカラムはいくつくらいまで作成しても大丈夫ですか? 50〜100個とか普通は作成しないでしょうか。 : NAME IS NULL [sage] 2009/10/21(水) 23:07:26ID:??? ttp://nippondanji.blogspot.com/2009/05/mysql.html : NAME IS NULL [] 2009/10/21(水) 23:45:02:nmNVAfvz 回答有難うございます! InnoDBの場合は1000カラムまでで、これは速度はほとんど低下しないと期待してもよいのでしょうか? : NAME IS NULL [sage] 2009/10/22(木) 15:08:28ID:??? 1000カラムのうちLOBがいくつあるかによる LOBが増えれば増えるほど遅くなるよ : NAME IS NULL [] 2009/10/22(木) 23:09:09:tsxw+rRJ 画像みたいなのを入れなければいいんですね。想像以上に作成できるカラムの数が多くて驚いています。 有難うございました。 : NAME IS NULL [] 2009/10/23(金) 12:29:40:tEyJFZiS user define typeで個別に作ると対応できるみたい。不便。 : NAME IS NULL [sage] 2009/10/24(土) 05:14:42ID:??? 質問です。 Windows XP で 5.0.45 を使用して、毎日 mysqlimport コマンドをバッチ処理で実行していますが 昨日までは正常に動作していたのに、今日のジョブが5時間以上経っても終わりません。 show processlist で見てもプロセスは存在しません。 現在何が起きているのかを確認する方法はないでしょうか? : NAME IS NULL [sage] 2009/10/24(土) 18:02:55ID:??? とりあえずエラーログをみる : 490 [sage] 2009/10/24(土) 20:53:52ID:??? エラーログファイルは見てみましたが、何も吐いていませんでした。 半日経っても終わらないので kill しましたが、一件もロードされておらず テーブルロックが掛かっているような感じにも思えますが、テーブルを更新するのは そのバッチ処理のみなのでそれもないし・・・ kill した後に手動で mysqlimport コマンドを発行したら、あっという間に正常終了しました。 何だったのだろう・・・ よく分かりませんが、再現待ちとします。 ありがとうございました。 : NAME IS NULL [sage] 2009/12/03(木) 22:35:54ID:??? 素人丸出しの質問かもしれませんが、MySQLを使う必要が生じてしまったのでお願いします。 同一テーブル構成のTBL-A、TBL-Bがの2つがあります。 テーブルレイアウトは、 基準日 int(8) 社員番号 int(10) 構成 int(10) だとします。 TBL-AとTBL-Bを比較し、以下のことをSQLでやりたいんですが、何か関数等あるんでしょうか? (1)社員番号がTBL-Aに在ってTBL-Bに無い場合-->TBL-Bに該当レコード追加 (2)社員番号が両方に存在し、TBL-Aの基準日がTBL-Bの基準日以降の場合-->TBL-Bの該当レコードをTBL-Aで上書き (3)社員番号が両方に存在し、TBL-Aの基準日がTBL-Bの基準日以前の場合-->何もしない (4)社員番号がTBL-Bに在ってTBL-Aに無い場合-->何もしない : NAME IS NULL [sage] 2009/12/04(金) 15:17:42ID:??? なんでこういう人っていつも仮定口調なの? : NAME IS NULL [sage] 2009/12/08(火) 01:03:06ID:??? MySQLとAccess連携でプロト作ってるんだが、どっかにMySQLの主にストアドを 綺麗にまとめてるサイト無い? : NAME IS NULL [sage] 2009/12/08(火) 01:16:20ID:??? うちの会社で余ったWinXPのproにMySQL5.1入れて、ポート開けて20人位の同時アクセスさせているのだが、 今のところ全然問題なく使えてる。バックアップも問題ない。 ココで質問。 1.このまま使っててもOK? 2.今更だがMySQLって、ポート3306開けときゃサーバじゃなくても同時アクセスで使えるモノなの? ※やってみたら出来た。っていう素人さんなのでプロからのアドバイスを希望します。 : NAME IS NULL [sage] 2009/12/08(火) 06:57:23ID:??? XPProで、その利用方法はライセンス違反 : NAME IS NULL [sage] 2009/12/08(火) 07:58:17ID:??? Winのライセンス上の問題は ttp://www.apache.jp/pipermail/apache-users/2003-January/002303.html 参照。 : NAME IS NULL [sage] 2009/12/08(火) 08:24:00ID:??? 不特定多数か社内限定かは 異なるだろうけど、結果は同じ? : NAME IS NULL [sage] 2009/12/09(水) 20:19:53ID:??? thx : NAME IS NULL [sage] 2009/12/10(木) 10:20:13ID:??? ライセンス違反のわけねーだろ。アホかい。 : NAME IS NULL [sage] 2009/12/10(木) 23:27:35ID:??? 501はたぶんMySQLのライセンスとWindowsのライセンスの区別がつかない程度のしったか : NAME IS NULL [sage] 2010/01/29(金) 00:48:30ID:??? ON DELETE CASCADE を参照先テーブルに適用してますが、下記のエラーが出ます。 下記のエラーいがいに何が問題になっているか知る方法はありますでしょうか。 SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`db`.`table`, CONSTRAINT `table_ibfk_10` FOREIGN KEY (`table_id`) REFERENCES `table` (`id`)) : NAME IS NULL [sage] 2010/01/31(日) 15:42:47ID:??? ただのチラ裏です・・・ 客用にCOREi3のWin7機を買ったんだが、クラサバシステムのODBC3.51でつないだらエラーの出るテーブルが出た 2台だけだったんで持ち帰りつないでみようとしたら全部つながらなくなった pingは通るのに何だ?ってパニック よく考えたら鯖に使ったXPのファイアーウォールが邪魔してただけだった・・・ で、ODBCを2.51にしたらとりあえず全部つながった このまま行っちゃう予定 よく考えたら36時間程メシ食ってないお 食ったら寝て明日の昼休みの時間に納入してくる : NAME IS NULL [sage] 2010/02/05(金) 12:11:56ID:??? 「mysql error 1451」とか「mysql Cannot delete or update a parent row」でぐぐってみた? 結局のところ、制約の子が残ってるから消せない/更新出来ないよってことなんだが、 ・ON DELETE CASCADE をしているつもりで出来てないってことはないか? (子側をshow create tableなんかで確認) ・他に同じ(親)テーブルを、外部キー制約の参照先にしてるテーブルは無いか? を確認してみるべし。 : NAME IS NULL [sage] 2010/04/14(水) 19:46:11ID:??? かねやんからエクスポート後、再度かねやんからインポートした時、 文字列が空欄になるんだけど、この現象って文字化けなの? : NAME IS NULL [sage] 2010/04/14(水) 22:22:42ID:??? ファイアーウォールかもね : NAME IS NULL [] 2010/08/14(土) 23:40:51:WQmEq40c age : NAME IS NULL [sage] 2010/08/30(月) 01:01:47ID:??? windowsXPにxamppでMySQL5.1を入れたけど、どうやっても文字化けする。。。 ネットの情報かなり試したんだけど、5.0までと違うのか、まったくダメ。 5.1で同じような状況になった方はいませんか? : NAME IS NULL [sage] 2010/11/17(水) 08:45:02ID:??? 自分の設定も晒さないで何を言っておるのかね : NAME IS NULL [sage] 2011/01/19(水) 11:24:41ID:??? MySQLでビューって遅いと聞きますが、どういった点が遅いのでしょうか。 「商品一覧テーブル(product)」と「商品カテゴリテーブル(category)」があり、 product.category_cd = category.category_cdを他:1で結びつけています。 「商品カテゴリテーブル」にはカテゴリ名カラムがあり、 商品検索のときに商品名とカテゴリ名両方検索できるようにしたいと思っています。 すでに構築されたプログラムの改変のため、JOINが非常にし辛いソースとなっていて、 ビューを使うとコストが抑えられると思っているのですが、遅いと聞くので使用していいか戸惑っております。 商品の修正もそこそこありで、検索もそこそこ使うといった感じです。 この場合、ビューを使ってよいものでしょうか。 : NAME IS NULL [sage] 2011/01/19(水) 17:31:44ID:??? MySQLはSELECT対象にVIEWを使うか VIEWの内容をSELECT文の中に展開して書き込むかで 実行計画が変わることがある。 どちらが速いかはケースバイケース。 ただ のパターンではその前に 双方のcategory_cd列にINDEXが作ってあるかどうかが重要。 まずINDEXがあることを確認した上で、 VIEWのありなしで検証してみるのをオススメする。 : NAME IS NULL [sage] 2011/02/06(日) 13:42:54ID:??? C APIについて詳しい人います? : NAME IS NULL [sage] 2011/02/21(月) 22:42:22.20ID:??? オライリーのMySQLクイックリファレンスを見れ C APIについても載ってる : NAME IS NULL [] 2011/09/27(火) 11:48:59.25:X5ySfYA0 MySQL.comのWebサイトに不正なコード 闇市場でroot権限も販売か ttp://www.itmedia.co.jp/news/articles/1109/27/news027.html WebブラウザやFlash、Javaなどのプラグインの脆弱性を突いてインストールされ、ユーザーが クリックなどの操作をしなくても、MySQL.comのWebサイトを見ただけで知らないうちに感染する 恐れがある。 : NAME IS NULL [sage] 2011/10/19(水) 19:55:41.16ID:??? xmappインストールしてmysql起動しようとしても 開始押したらすぐに停止する 解決策わかる人いる? : NAME IS NULL [sage] 2011/10/19(水) 22:08:50.72ID:??? なんかのエラーで停止してるんじゃない ログみてみたら : NAME IS NULL [sage] 2012/01/13(金) 12:36:14.31ID:??? x86の64-bit版と32-bit版とは、 ・実行速度 ・使用メモリ量 において、どのくらい違うものでしょうか。 なにか資料へのポインタでも頂けたらと思います。 なおOSはDebian Linuxです。 期待する解答例 ・経験則で言うと、メモリ消費量は64-bit版の方が20%多い ・intのサイズが異なるので、intのカラムが多いとメモリ消費量が多くなるが、charだと変わらない ・実行速度は64bit版のほうが速いはずだが、ぶっちゃけSQLのチューニングのほうがよっぽど大事だから気にすることはない : NAME IS NULL [sage] 2012/01/14(土) 11:39:06.20ID:??? バッファ上はMySQLのデータ型の分しか消費しないから、32bit、64bitで変わらない。 ていうかintはx86_64でも4バイトじゃね。 実行速度はCPUによる。 例えばCore 2のときは64bit動作でMacro-OPs Fusionという機能が効かなくて あまり速くなかった。Nehalem以降は64bitの方が速いと思う。 実際の性能はデータをメモリ上にどれだけキャッシュするかが勝負なので、 32bitだと仮想メモリ4GBの壁があるので64bitの方が断然有利。 : NAME IS NULL [sage] 2012/01/14(土) 17:48:37.16ID:??? 参考になります。 >バッファ上はMySQLのデータ型の分しか消費しないから、32bit、64bitで変わらない。 なるほど。メモリ消費量に違いはない(あったとしてもわずか)ということですか。 >実行速度はCPUによる。 >例えばCore 2のときは64bit動作でMacro-OPs Fusionという機能が効かなくて >あまり速くなかった。Nehalem以降は64bitの方が速いと思う。 それは知りませんでした。 x86_64のほうがレジスタ数が増えた分、速いと思ったのですが、必ずしもそうではないんですね。 Nehalemというのは、Core2DuoではなくCore i3とかi5とかいうやつですね。 じゃあサーバのCPUの種類を調べてみる必要がありますね。 >実際の性能はデータをメモリ上にどれだけキャッシュするかが勝負なので、 >32bitだと仮想メモリ4GBの壁があるので64bitの方が断然有利。 使ってるのが安いVPSなので、そこまでメモリを利用できません。 たいへん参考になりました。ありがとうございました。 : NAME IS NULL [] 2012/01/28(土) 23:36:15.52:cD3RmStW Strutsで郵便番号検索をするしくみを作っています。 JavaからMySQLへアクセスし郵便番号検索する仕組みになっているのですが、 まれに「NullPointerException」がでて原因が追究できず困っています。 郵便番号を入力するテキストボックスがあり、 横にある「郵便番号検索」のボタンをクリックすると 入力された郵便番号に相当する住所が住所のテキストボックスに表示されます。 どなたか何か原因として考えられること教えていただけませんか? (環境) Java Version: 1.6 MySQL: 5.0.77 OS: CentOS 5.3 : NAME IS NULL [sage] 2012/01/29(日) 00:05:32.07ID:??? ソースも見せずに「原因として考えられること」なんて聞いたら 百個や二百個じゃ済まないだろ : NAME IS NULL [sage] 2012/01/29(日) 01:35:35.35ID:??? まずは例外発生時のスタックダンプを晒してみろ。 : NAME IS NULL [sage] 2012/01/29(日) 07:10:51.77ID:??? ぬっ、、、、ぬるぽぉ! : NAME IS NULL [sage] 2012/01/29(日) 08:38:25.93ID:??? ■━⊂( ・∀・) 彡 ガッ☆`Д´)ノ : NAME IS NULL [] 2012/01/31(火) 18:27:59.13:MV1gW/hE windowsで使えるGUIな管理ツールって何がいい? テーブルの中身をエクセルみたいに表示してちょこっと編集 ・・・とかがさっさとできたらいいんだけど。 phpmyadminじゃできないですよね? できたらwebベースじゃないほうがいいです。 : NAME IS NULL [sage] 2012/01/31(火) 18:54:26.50ID:??? Navicat Lite 今フリーバージョンは出てないけどw : NAME IS NULL [sage] 2012/01/31(火) 19:00:03.14ID:??? あー、今、それ見てました! Lite無くなってる(´・ω・`)ショボーン 有料だけどaccessでODBC接続とかが無難なんでしょうか? : 527 [sage] 2012/01/31(火) 19:16:16.91ID:??? 使ったことは無いけど Workbenchとか?後は知らん : NAME IS NULL [sage] 2012/01/31(火) 20:08:13.57ID:??? workbench : NAME IS NULL [sage] 2012/01/31(火) 20:16:21.46ID:??? おお、いいかんじっすね。 商用じゃないほう(Community エディション?)はフリーなんでしょうか? 個人事業で使う場合は商用? : NAME IS NULL [sage] 2012/01/31(火) 21:36:39.48ID:??? Community EditionはGPL。 機能が足りててサポートいらないならそのまま仕事で使って問題ないよ。 : NAME IS NULL [sage] 2012/01/31(火) 22:56:41.84ID:??? そうなのですね! あざーっす。 : NAME IS NULL [sage] 2012/01/31(火) 23:01:57.21ID:??? 「MySQLってお金払わなきゃ使っちゃいけないの?」って質問するやつは、 確実にお金を払う必要などない人間。 金を払わにゃならんようなやつは、聞かずともわかるようになっている。 : NAME IS NULL [sage] 2012/02/01(水) 20:08:41.95ID:??? MySQLのライセンスが複雑すぎるんだよな : NAME IS NULL [sage] 2012/02/01(水) 21:43:36.18ID:??? どこが複雑なんだか。 : NAME IS NULL [sage] 2012/02/02(木) 01:21:23.68ID:??? あんたのようなことを言うやつも金を払う必要はない。 もちろん、サポートしてほしいなら話は別だ。 : NAME IS NULL [sage] 2012/02/02(木) 06:46:42.24ID:??? 必要がない。じゃなくて黙認されている、じゃねぇの? ttp://www.softagency.co.jp/products/mysql/license/ の上から四行目の選択肢あたりは社内システムでも問題になりうると思うが。 : NAME IS NULL [sage] 2012/02/02(木) 07:31:28.46ID:??? 社内システムなら2行目でNOだろ。4行目まで行かない。 : NAME IS NULL [sage] 2012/02/02(木) 07:37:49.43ID:??? 請負でシステム構築する場合は? : NAME IS NULL [sage] 2012/02/02(木) 08:25:57.06ID:??? そこはGPLそのものの話になるが、こんな解説が。 ttp://http://d.hatena.ne.jp/uehaj/20100710/1278772393 : NAME IS NULL [] 2012/02/06(月) 14:48:21.81:y1W2x5+Z ttp://http://www.nicovideo.jp/watch/sm16819087 これ凄すぎw : NAME IS NULL [sage] 2012/02/06(月) 23:53:18.92ID:??? WoWクラブいきてぇ〜 : NAME IS NULL [sage] 2012/02/18(土) 16:31:44.22ID:??? ねえ教えて インストール後の設定ウィザードでサービスの起動がうまくいきません 応答なしになりますなぜだ : NAME IS NULL [sage] 2012/02/18(土) 21:38:13.88ID:??? Windowsはムチャムチャ遅いからおすすめしない : NAME IS NULL [sage] 2012/03/08(木) 17:40:57.42ID:??? conn, cur の関係ってどんな関係なんでしょう? また、conn から curを作成できる理由って何でしょうか? : NAME IS NULL [sage] 2012/07/13(金) 21:58:38.06ID:??? ( ´Д`)y━・~~ : NAME IS NULL [] 2013/01/05(土) 10:55:30.04:T10q5cOC 犯罪者個人に対して告訴状を違法派遣・偽装請負・偽装出向・多重派遣の被害者が作成(刑事告訴は無料) or 司法書士が代筆(料金は5万円ぐらい)※コピペ歓迎 ↓ 告訴状を【検察の直告班】に郵便局の内容証明付で送付(疎明資料・証拠にはICレコーダー、スマホによる録音が適しています) ↓ 審査 → 不受理 → 告訴状再提出または刑法 第193条で訴えを起こす ↓ 受理 → 告訴事実を認め示談交渉(↓) →示談成立 → 法廷相場50〜100万円の示談金 ※示談拒否が良い ↓ ↓ 事案化← 前科あり ←示談不成立(↓)→ 示談外交渉→ 犯罪者の年収半額×最大懲役年数の和解金支払い※推奨 ↓ ↓ ↓ 起訴 →公判 → 罰金刑=前科(起訴事実を認めてるため)→追討ち民事訴訟 ↓ 審査 → 起訴(強制捜査・留置場)→ 公判 → 懲役刑などの厳罰(反省が認められないため)→追討ち民事訴訟 ↓ 不起訴、起訴猶予 ↓ 検察審査会法第30条(検察審査会へ申し立て)→ 起訴 → 起訴後は同上 刑法 第193条(公務員職権濫用)で検察事務官を刑事告訴 → 同上 ◎告訴→告訴受理→示談交渉→厳罰を求め示談不成立→示談外交渉→和解金支払い・和解契約(公正証書・即決和解で秘密保持契約) ◎偽装請負・出向・違法派遣事件では派遣・出向先両方の代表者、役員、現場責任者に告訴できます。 前科がついた犯罪者が法人の代表であれば公的な入札からの排除、取引先や顧客との契約解除など社会的制裁・批判に晒されることから辞職または解任が妥当、役員・社員であれば懲戒を想定。 ◎事業者内部の加害関係者による刑事告発(刑事訴訟法239条1項)も可能です。 加害者本人、管理間接部門の社員が刑事告発に踏み切る場合も和解金による解決が妥当です。 注意:告訴が受理されない理由 ●3年間(※)の時効が過ぎたもの ※違法派遣 ●同一事実について過去に告訴取消しがあったもの ●関連する民事訴訟を有利に導く目的の場合 ●証拠が希薄なもの ※被害者が契約時に違法派遣・偽装請負・多重派遣と知っていても刑事告訴は有効です。 : NAME IS NULL [] 2013/01/15(火) 14:16:53.35:lJw9FDu5 パワハラ犯罪にたいする刑事罰(※本投稿のコピペ歓迎です) 人事原則 1 現行法では、社員が仕事を怠けたり、能力不足、就業規則違反、目標を達成できなくても解雇をしたり叱責することは違法です。どんな駄目社員、嘘つき社員、怠け者も定年まで解雇が違法なのが現行の正社員制度です。 2 パワハラは社風にあわない社員、成績の振るわない社員を自主退職に追い込む言わば人事的措置として用いられることが多い。 ※違法な解雇の和解金相場は、労働審判で3ヶ月、通常裁判で1年以上の報酬、さらに社員が和解を拒めば復職が可能です。弁護士への着手金は12〜15万円+20%の和解金、和解拒否なら20〜50万円程度。 人事部・ホットライン・御用組合へ直訴 メリット: 一時的緩和や人事異動 デメリット: 役員へ情報筒抜け、危険分子の烙印(情報漏洩がホットライン直訴者に多いのは人事部の常識)、パワハラ放置で自主退職に追い込まれる 民事訴訟・調停・労働審判 メリット: 損害賠償 デメリット: 裁判費用、解雇措置、民事不介入で刑事事案化を阻止、長期係争、パワハラ上司の継続雇用 刑事告訴 メリット: 1パワハラ上司の解雇・懲戒、または2多額の和解金、1と2どちらでも被害者の雇用は維持 デメリット: 人事異動(出世コースから外れる) ◎録音は一方の当事者が取る限り合法です。※加害者に録音の同意を求める必要はありません。 ◎告訴受理後の和解金は加害者の資産・収入に応じて変えてください。犯罪者の昨年の年収の半額程度×最大懲役年数が妥当です。 ◎パワハラの被害についての告訴は1侮辱罪2脅迫罪3強要罪4威力業務妨害罪5傷害罪の順序で行ってください。警察・検察の協力(犯罪者の自宅・職場の強制捜査、留置所勾留)により罪の立証が楽になります。 ◎刑事告訴した社員を解雇したり処遇面で著しい差別を行うことはないでしょうが、出世や管理職以上の昇進の可能性はあきらめるべきでしょう。 ◎刑事告訴は民事訴訟と違って裁判による被害者への2次被害にありません。検察庁が被害者に代わって訴えをおこすので、無料で、時間と手間も告訴状をかくことと音声録音を残すだけです。 ◎和解契約(公正証書・即決和解)では告訴した事実は秘匿事項となります。犯罪者が秘密保持契約を違反した場合の損害賠償金は、最低5000万円〜にしましょう。 : NAME IS NULL [sage] 2013/05/01(水) 10:37:12.28ID:??? 社内システムを Core2Duo-E8400(2GB)で運用していましたが、 機器が故障したため、Atom-D2700(3GB)に入れ替えをしました。予算があまり無かったのです。 ・クライアントは10台程度。 ・innodbのみ使用。 ・一覧表示を多用している。ページング処理をする為、countでレコード総数を取得している。 ・my.cnfはそのまま流用している。 切替直後から、「一覧表の表示が遅い」というクレームが後を絶ちません。 以前は瞬時にページの切替ができましたが、切替後は数秒から30秒程度の 待ち時間が発生しています。 利用者からは、物凄い剣幕で「遅せーんだよ、なんとかしろ!」といわれていますが、 「慣れればいいだろ」とも言えず、解決策を模索中です。 CPUの処理性能が、これ程影響してくるとは思いませんでした。 : NAME IS NULL [sage] 2013/05/04(土) 14:37:48.97ID:??? SQL文を見直す インデックスを工夫する この程度しか思いつかないw : NAME IS NULL [sage] 2013/05/09(木) 17:41:44.28ID:??? countが劇遅で、だけど多用せざるを得ない要件なら、countだけを保存するテーブルを作って、 insert/deleteトリガーでcountをプラマイするようにして、それをページ処理するときに参照する 仕組みにすれば? : 550 [sage] 2013/05/10(金) 13:41:04.79ID:??? >551,552 ご回答ありがとうございます。 ご意見を参考に、色々と試して見ます。 : NAME IS NULL [sage] 2013/11/20(水) 08:56:22.86ID:??? mysqlでCPU下げるのは自殺行為 : NAME IS NULL [sage] 2014/03/26(水) 01:14:51.85ID:??? MySQL 5.5を使ってますです。 phpMyAdminを使ってデータベースのエクスポートしたのですが、外部キー制約がエクスポートできません。 外部キー制約も含めてエクスポートするにはどうしたらいいですか? : NAME IS NULL [] 2015/10/22(木) 22:59:43.95:72sKbAfY ☆ 日本の核武装は早急に必須ですわ。☆ 総務省の『憲法改正国民投票法』、でググってみてください。 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、日本人の悲願である 改憲の成就が決まります。皆様方、必ず投票に自ら足を運んでください。お願い致します。 : NAME IS NULL [sage] 2016/07/20(水) 14:26:39.10ID:??? まだメモリに載ってないとか : NAME IS NULL [] 2017/12/29(金) 11:51:41.96:dtNZwIie 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 MG7LSJ6659
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキング が作成したキャッシュです。元のページはこちら 。削除についてはこちら 。