のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,264人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレMySQL 総合 Part13

    mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 1064 + - limit + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    901 : NAME IS - 2008/05/28(水) 20:56:27 ID:??? (+10,-20,+2)
    >>899
    そうですかありがとうございます :]

    902 : 854 - 2008/05/28(水) 22:46:11 ID:??? (+105,+19,-36)
    データベースインポート中だった854です。
    無事に60時間で作業完了しました!
    メモリの増設は効果覿面だったみたいです。
    903 : NAME IS - 2008/05/28(水) 23:18:52 ID:??? (+75,+29,-9)
    >>902
    結局、どういう方法でインポートしたの?
    他の人間の為にも、報告よろ
    904 : NAME IS - 2008/05/29(木) 01:27:03 ID:??? (+60,+8,-13)
    >>902
    おつかれw
    そこの環境だと予想の8倍かかると覚えておけばよいのかなw
    905 : NAME IS - 2008/05/29(木) 11:47:29 ID:??? (-2,-29,-3)
    >>898
    ADOがTYPOでは?
    906 : NAME IS - 2008/05/29(木) 11:51:28 ID:??? (-1,-29,-21)
    >MySQL serber version for

    これエラーメッセージからのコピペ?
    907 : NAME IS - 2008/05/29(木) 11:51:36 ID:??? (-2,-29,-2)
    >>905
    察してやれ。なにしろ you habe に serber だ。
    908 : NAME IS - 2008/05/29(木) 11:55:27 ID:??? (+20,-29,-51)
    >>903
    MySQLは初めて触れたので、入れたいプログラム
    (http://www.perseus.tufts.edu/hopper/)の指示通りに
    mysql -uユーザー -p データベース名 < importfile.sql
    でやりました

    >>904
    ですねー
    一万円で買ったパソコンならこのスピードでも大満足ですwww
    909 : NAME IS - 2008/05/29(木) 12:28:55 ID:??? (+10,-30,-68)
    >>908
    やっぱりそうか。実は>>854の時から気にはなってたんだが、

    http://bugs.mysql.com/bug.php?id=33057

    このバグに関係ありかもしれない。
    5.0では5.0.52~5.0.54まで、5.1でも5.1.22とかはコレに該当しそう。

    ウチでも、5.0.51ではほんの数秒で完了するインポートが、5.0.52で数分~十分位かかったから
    調べてみて発見した。ちなみに、5.0.56以降、5.1.23以降はFixされてる。
    911 : NAME IS - 2008/05/30(金) 01:21:05 ID:??? (+62,+29,+0)
    http://mainichi.jp/enta/geinou/graph/200805/21/?inb=yt
    ネット証券会社が主催するFX(外国為替証拠金)取引コンテストの発表会が21日、都内で行われた。
    コンテストに特別参加するグラビアアイドルの滝沢乃南さん、山本彩乃さん、折原みかさん、山口愛実さん、佐々木梨絵さん
    の5人が顔をそろえ、シストレに挑戦する意気込みなどを語った。
    同コンテストは、自分で作成したトレードソフトの機能を評価する「シストレソフト部門」と、
    FX初心者でも安心の仮想マネーを使った取引を体験できる「トレード部門」で賞金総額2000万円を争う。
    シストレ優秀ソフトは、最高2000万円までの範囲内で買い取りの可能性もあるという。登録受付は22日から。
    仮想取引は6月2日~09年4月30日までとなっている。



    http://www.fx-gp.com/
    ●社長特別賞(シストレソフト買取価格) 10,000,000円
    ●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
    ●トレード部門賞 1位300万円 2位100万円 3位50万円
    ●前期MVP賞 50万円
    ●後期MVP賞 50万円
    http://www.click-sec.com/corp/guide/demo/
    912 : NAME IS - 2008/05/30(金) 03:26:51 ID:??? (+13,-30,-151)
    val_table
    number int auto_increment,
    title VARCHAR(100) NOT NULL

    tag_table
    number_tag int auto_increment,
    number int,
    title VARCHAR(100) NOT NULL


    タギングテーブル(tag_table)と商品テーブル(var_table)から検索する際の取り方なのですが、
    val_table.titleとtag_table.title(複数の場合や存在しない場合もある)からlikeで調べたいのです。

    ただ、タグが複数ある場合、存在しない場合などの際、うまくとれません。
    複数ある場合はCONCATで結合、タグが存在しない場合はval_tableのtitleのみから調べて返してほしいのですがどうすればいいでしょうか?

    SELECT a.title from hoge_table a,tag_table b where a.number = b.number;
    913 : NAME IS - 2008/05/30(金) 06:49:37 ID:??? (+9,-30,-175)
    >タグが複数ある場合、存在しない場合などの際
    LEFT JOIN

    select a.number,a.title,b.title from val_table as a LEFT JOIN tag_table as b on (a.number = b.number_tag);

    >複数ある場合はCONCATで結合
    GROUP_CONCAT() # mysql 独特なので注意

    select min(a.number),min(a.title),GROUP_CONCAT(b.title) from val_table as a LEFT JOIN tag_table as b on (a.number = b.number_tag) GROUP BY a.number;
    914 : NAME IS - 2008/05/30(金) 13:16:38 ID:??? (+79,+29,-36)
    >>897
    4.0.2はわからんが、
    数年前の4.0.xx(忘れた)のころはレプリケーションにバグがあって
    マスターとスレーブの内容が一致しないなんてことが起こった。
    その後なおったはずだけど…
    915 : NAME IS - 2008/05/30(金) 13:29:24 ID:eZR1pwPY (+35,+29,-10)
    >>914
    そんなので何のために使えるんだろうか・・・
    参照系の不完全な負荷分散専用?
    916 : 0 - 2008/05/30(金) 16:36:34 ID:??? (+4,-30,-79)
    >>913さん
    ありがとうございます!
    結合はそれでいけました。

    ただ、GROUP_CONCAT(b.title)をlike 検索できません。
    GROUP_CONCAT(b.title) As tags
    にして
    tags like "%test%"
    してみたのですが
    unknown column になります。
    917 : 912 - 2008/05/30(金) 16:48:56 ID:??? (+6,-21,-13)
    名前間違えました。。。
    そしてHAVING でできました。
    913さんほんとうにありがとうございます。
    918 : NAME IS - 2008/05/30(金) 19:56:01 ID:Z2jF5HUG (+30,+30,+0)
    田舎DQN男の家族消えろ 田舎DQN男の親消えろ 田舎DQN男の子供消えろ 田舎DQN男の親戚消えろ
    田舎DQN男の家族消えろ 田舎DQN男の親消えろ 田舎DQN男の子供消えろ 田舎DQN男の親戚消えろ
    田舎DQN男の家族消えろ 田舎DQN男の親消えろ 田舎DQN男の子供消えろ 田舎DQN男の親戚消えろ
    田舎DQN男の家族消えろ 田舎DQN男の親消えろ 田舎DQN男の子供消えろ 田舎DQN男の親戚消えろ
    ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・)
    死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
    死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
    死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
    死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
    苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
    苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
    苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
    苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
    死ぬとき このレスの事思い出してから地獄へ行けよ
    ニヤ(・∀・)ニヤ(・∀・)
    920 : NAME IS - 2008/05/30(金) 22:49:27 ID:??? (+11,-16,-4)
    コマンドプロンプトから直接mysqlを叩く
    921 : 919 - 2008/05/31(土) 03:43:29 ID:P9Fe+Y8M (+24,+29,-30)
    てか、よく考えたらものすごい環境依存っぽいのでxamppのBBSで聞いてきます。
    解決しましたらこちらに報告に来ます。
    お騒がせしました。
    922 : NAME IS - 2008/05/31(土) 10:54:59 ID:w17RNyoM (+31,+29,-21)
    mysqlで
    絶対に打ち込んではいけないコマンドを
    私に伝授してください!!!!!!
    923 : NAME IS - 2008/05/31(土) 11:52:21 ID:??? (-6,-29,-1)
    DROP TABLE tbl
    924 : NAME IS - 2008/05/31(土) 11:54:53 ID:??? (-6,-24,+0)
    select
    925 : NAME IS - 2008/05/31(土) 11:55:21 ID:??? (+21,-29,-3)
    >>922
    drop database mysql
    926 : NAME IS - 2008/05/31(土) 12:01:48 ID:??? (-2,-20,+0)
    exit
    927 : NAME IS - 2008/05/31(土) 12:57:23 ID:w17RNyoM (+30,+29,-3)
    >>925
    こら~!
    とんでもないことなってもうたやないかい!
    928 : NAME IS - 2008/05/31(土) 13:13:36 ID:yOEBInyW (+57,+29,-7)
    しかし管理用のデータベースまで普通に見えるのはどうかとも思う。
    ファイルシステムでもおなじか
    929 : NAME IS - 2008/05/31(土) 13:18:08 ID:??? (+57,+29,-6)
    そうか?
    包み隠さないことはいいことだ。
    930 : NAME IS - 2008/05/31(土) 13:31:42 ID:??? (+2,-29,-2)
    >>928
    まったくだ。 grant なんとか on *.* が mysql.* まで含んでしまうのは、まずいと思う。
    まあ *.* するのがまずいんだろうけど。
    931 : NAME IS - 2008/05/31(土) 13:36:25 ID:??? (+54,+18,-1)
    >>928
    いい加減さもウリの1つです。
    932 : NAME IS - 2008/06/01(日) 17:46:19 ID:??? (+3,-30,-277)
    305 Query SHOW COLLATION
    305 Query SET NAMES ujis
    305 Query SET character_set_results = NULL
    305 Query SET autocommit=1
    305 Query SET sql_mode='STRICT_TRANS_TABLES'
    305 Query SET NAMES sjis <-------これは誰が発行しているのかわかりません

    305 Query UPDATE tab1 SET name = 'jdbc 修正 myjava3.java', note = 'myjava   jdbc 修正 ' WHERE number = 70
    305 Quit

    java のコードに sjis に設定しているってこと?
    | character_set_client | ujis |
    | character_set_connection | ujis |
    | character_set_database | ujis |
    | character_set_results | ujis |
    | character_set_server | ujis |
    933 : NAME IS - 2008/06/01(日) 20:57:44 ID:??? (+14,-3,-1)
    自己解決
    934 : NAME IS - 2008/06/01(日) 21:26:07 ID:??? (+49,+26,-3)
    解決案も書かないと。
    935 : NAME IS - 2008/06/01(日) 23:39:26 ID:??? (+57,+29,-11)
    ブラウザを立ち上げて
    2chを開いて「自己解決しました」
    と書き込む
    936 : NAME IS - 2008/06/02(月) 16:59:47 ID:??? (+0,+0,+0)
    MySQL4.1.2のテーブル結合について質問させてください。

    test テーブル
    | id | name | group_id |
    +-----------------------+
    | 1 | test1 | 0 |
    | 2 | test2 | 1 |
    | 3 | test3 | 0 |
    | 4 | test4 | 1 |
    | 5 | test5 | 2 |
    | 6 | test6 | 2 |

    group テーブル
    | id | name |
    +-------------+
    | 1 | group1 |
    | 2 | group2 |

    上記のテーブルを結合し、下記結果のように
    testテーブルのgroup_idが1以上のデータのみ、
    group_idでグループ化して表示させることは可能でしょうか。

    | test_name | group_name |
    +-----------+------------+
    | test1 | NULL |
    | test2 | group1 |
    | test3 | NULL |
    | test5 | group2 |

    下記のSQL文を実行してみるも、
    group_idを持たないデータまでグループ化されてしまいます。

    select test.name as test_name,group.name as group_name
    from test
    left join group on test.group_id = group.id
    group by test.group_id

    | test_name | group_name |
    +-----------+------------+
    | test1 | NULL |
    | test2 | group1 |
    | test5 | group2 |
    937 : NAME IS - 2008/06/02(月) 17:12:43 ID:??? (+88,+29,-24)
    自分だけで解決したのに、なんで役立たずの君たちに教えてあげなくちゃならんのだ
    938 : NAME IS - 2008/06/02(月) 17:38:59 ID:??? (+63,+28,+0)
    >>937
    面白い発想だ
    939 : NAME IS - 2008/06/02(月) 18:02:25 ID:??? (+57,+29,-8)
    思い切って質問させていただいたのですが間違いのようでした。
    失礼いたしました。
    940 : NAME IS - 2008/06/02(月) 18:35:28 ID:??? (+0,-30,-181)
    >>936
    group by の値をユニークにしてやればいいのだから、たとえばこんな感じ?

    select min(a.name),b.name from test as a left join group as b on (a.group_id = b.id)
    group by case when a.group_id > 0 then a.group_id else a.id -100 end;

    -100 はユニークにするためのいい加減な値なので、適当に。
    group のような予約語はテーブル名にしない方がいいような気がする。
    941 : NAME IS - 2008/06/02(月) 18:57:44 ID:??? (+3,-30,-167)
    4.1.2ではなく5.0を使っているからちょっと判らんけど
    left join での接続方法を変えてみたらどうなんだろう

    SELECT test.name,group.name,test.id,group.id FROM group LEFT JOIN test ON test.id = group.id GROUP BY group.id HAVING test.group_id > 0

    テストテーブル作るのが面倒だったから直書きだから動かなかったらスマン
    942 : NAME IS - 2008/06/02(月) 19:01:45 ID:??? (+0,-30,-161)
    あーケアレスミス

    SELECT test.name,group.name,test.group_id,group.id FROM group LEFT JOIN test ON test.group_id = group.id GROUP BY group.id HAVING test.group_id > 0
    943 : NAME IS - 2008/06/02(月) 19:52:21 ID:??? (+0,-30,+0)
    恥ずかしながら再度確認しに来てしまいましたが、
    レスをいただいており、大変感謝いたします。

    >>940
    >>group のような予約語はテーブル名にしない方がいいような気がする。

    例としてわかりやすいテーブル名にしようと思い、
    とんだミスをしてしまいました…。気を付けます。

    >>select min(a.name),b.name from test as a left join group as b on (a.group_id = b.id)
    >>group by case when a.group_id > 0 then a.group_id else a.id -100 end;

    この方法で解決できました!
    テスト用でも本DBでも正常に動作しました。ありがとうございます。

    >>942
    >>SELECT test.name,group.name,test.group_id,group.id FROM group LEFT JOIN test ON test.group_id = group.id GROUP BY group.id HAVING test.group_id > 0

    この方法も試させていただきました。
    すると、group_idを持たないデータは表示されなくなるようです。

    | test_name | group_name |
    +---------+-----------+
    | test2 | group1 |
    | test5 | group2 |

    しかしながら、大変勉強になるレスをいただきまして
    ありがとうございました。
    944 : NAME IS - 2008/06/03(火) 20:53:33 ID:9lp1uw3k (+30,+29,-12)
    mysqlマスターでさえ
    打つのをしり込みする
    コマンドを
    もしあれば
    伝授してください!
    945 : NAME IS - 2008/06/03(火) 21:28:22 ID:??? (+5,-26,-20)
    >>944
    マスターじゃないけど rm -rf でディレクトリを削除するのはやっぱり
    不安だよ。何回も確認する。
    946 : NAME IS - 2008/06/04(水) 11:22:18 ID:??? (+3,-29,-72)
     質問させていただきます。
    最近、パーティショニングを使い始めました。
    やりたいことはPARTITION BY KEY()を使用したパーティショニングをし、
    分割したデータやインデックスをdisk分散させるということなのですが、
    これを実現させるには個々のパーティションに対し、DATA DIRECTORYと
    INDEX DIRECTORYを地道に指定していくしかないのでしょうか?
    948 : NAME IS - 2008/06/04(水) 17:20:59 ID:??? (-2,-30,-55)
    UPDATE test SET
     name=IF(id=1,'aaa),
       IF(id=2,'bbb',
        IF(id=3,'ccc', 'xxx')
       )
     )
    WHERE id in (1,2,3)
    949 : NAME IS - 2008/06/04(水) 17:44:01 ID:??? (+51,+28,-3)
    それで速くなるの?
    950 : NAME IS - 2008/06/04(水) 17:46:30 ID:??? (+48,+25,-3)
    試せばわかるんじゃね?
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 1064 + - limit + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について