MySQL 総合 Part10
at DB
1:NAME IS NULL
06/11/26 06:35:01 E6gWY1/u
快速 RDBMS、MySQL の総合スレです。
前スレ[MySQL 総合 Part9] スレリンク(db板)
[関連スレと過去ログ]
URLリンク(find.2ch.net)
URLリンク(makimo.to)
[MySQL Developer Zone] URLリンク(dev.mysql.com)
[MySQL 日本語リファレンスマニュアル] URLリンク(dev.mysql.com)
[MySQL Internals Manual] URLリンク(dev.mysql.com)
[MyNA] URLリンク(www.mysql.gr.jp)
[MLja] URLリンク(lists.mysql.com)
・関連ツール及びユーティリティ
・関連書籍
>>2
2:NAME IS NULL
06/11/26 06:56:26
【関連ツール及びユーティリティ】
[phpMyAdmin] URLリンク(www.phpmyadmin.net)
[phpMyBackupPro] URLリンク(www.phpmybackuppro.net)
[MySQLCC] URLリンク(www.mysql.com)
[MySQL-Front] URLリンク(www.mysqlfront.de)
[mytop] URLリンク(jeremy.zawodny.com)
MySQL ABでの各種GUIツールは
MySQL GUI Toolsとして統合されています
URLリンク(dev.mysql.com)
・MySQL Administrator
・MySQL Query Browser
・MySQL Migration Toolkit
・MySQL Workbench
【関連書籍】
[MySQL Books]
URLリンク(dev.mysql.com)
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
3:NAME IS NULL
06/11/26 07:01:41
ここで質問をする前に、
MyNAでのFAQを最初に確認しましょう。
URLリンク(www.mysql.gr.jp)
4:NAME IS NULL
06/11/26 07:05:19
テンプレ補足
■2ch風偉人伝 AA はこちら
URLリンク(www.aadayo.com)
5:NAME IS NULL
06/11/26 16:43:32
【関連ツール及びユーティリティ】
[Common SQL Environment] URLリンク(www.hi-ho.ne.jp)
6:NAME IS NULL
06/11/26 20:00:31
Impossible WHERE noticed after reading const tables
ってどういう意味?
7:NAME IS NULL
06/11/26 23:24:53
MyNAでの「心得の条」もテンプレ追加よろしく
URLリンク(www.mysql.gr.jp)
8:NAME IS NULL
06/11/27 21:52:02
>>6
出だしからして
スパイ大作戦と何か関係あるのでわ?
9:NAME IS NULL
06/11/28 11:24:03
>>6
まんま、そのキーワードでググルと 1,100,000 件ヒットする訳だが・・
10:NAME IS NULL
06/11/28 11:40:24
おはようフェルプス君、さて今回の君の任務だが...(ry
11:NAME IS NULL
06/11/28 15:11:45
>>9
そんなにヒットしてもわからないよ。説明がいっこもない。
12:NAME IS NULL
06/11/28 16:17:42
>>6
explain ? なら調べられないって。Where見直したら。
13:NAME IS NULL
06/11/28 16:23:43
>>11
>Impossible WHERE noticed after reading const tables
なぁ・・・もしかしてGoogleの使い方知らないの?
やってみたら、最初の一件目に答えが出てたよ
要はWHEREで指定した条件にマッチする行が一つもないってこったな
14:NAME IS NULL
06/11/28 17:24:23 kbA+YKf7
M I B
の
I
15:NAME IS NULL
06/11/28 19:13:18
最近MYSQLとPHP始めたんですが
userテーブルからuseridの最大値を取り出してそれに+1して次のユーザー
登録に使いたいと思い以下のようにやってみたのですが
$db = "test";
$sql = "SELECT MAX(userid) FROM user";
$rs = mysql_db_query($db,$sql);
$obj = mysql_fetch_object($rs);
$maxid = $obj->userid+1;
SELECT MAXを行った後に$objの中を見ると空っぽというか何も
入ってないんです、直接SQLで"SELECT MAX(userid) FROM user"を
打ち込むと、ちゃんと最大のID値を持った部分が表示されるのですが
PHPではMAXなど使う際は何か違う手段を取る必要があるのでしょうか?、ちなみに
SELECT * FROM とやる分にはちゃんとオブジェクトが返ってきます。
MySQLは4.0.22です、よろしくお願いします・・。
16:NAME IS NULL
06/11/28 19:41:52
>>15
つ「おーといんくりめんと」
17:NAME IS NULL
06/11/28 20:06:40
>>15
16の通り、「おーといんくりめんと」を使うべきだが、最大値を取るには、
"SELECT MAX(userid) as userid FROM user" でクエリしたらいいんじゃね。
18:NAME IS NULL
06/11/28 20:25:37
>>15
これだとどう?
$result = mysql_query($sql);
$max = mysql_result($result, 0, 0);
19:15
06/11/28 21:02:10
>>16
それも考えましたが、この先同じような事態になったときの方法が知りたかったので・・・・。
>>17
>>18
2通りともうまくいきました!、ありがとうございます、ぐぐったりしてもSQL直接の書き方は
あってもPHPでのサンプルみたいなのがなかなか見あたらなかったので・・・、関数に関しても
IDで返すとはあってもそのIDを使って目的の値をどうやって引き出せばいいのかとか色々
試行錯誤してもダメだったもので・・、色々な方法があるものなんですね、内容の意味
ちゃんと理解して行きたいと思います、しかし慣れるまで大変だ・・・orz。
20:NAME IS NULL
06/11/28 21:12:23
>>15
「おーといんくりめんと」を使わないと、ちゃんと対策しな限りクリティカルなタイミングで
IDの重複が起こるかも。ロック、ユニークがヒント。
21:NAME IS NULL
06/11/29 04:49:14
あと、MIN/MAX/SUMが、最近エンバグしてしまったらしく、凄い数のバグと修正が上がってる。
要注意だ。
22:NAME IS NULL
06/11/29 09:17:41
>>19
少なくともUseridの新しい番号(連番?)を求めるために、
いちいちMAXで求めるなんていうひでえシステムを組んではいけない。
23:NAME IS NULL
06/11/29 12:59:37
4.1だけど、"〜 on duplicate key update 〜" の update 時に自分なりの where句は入れられ
ないでOK?
実験ではだめだった。あればさらに便利なのにぃ。
24:NAME IS NULL
06/11/29 16:45:12 FMjeEO6G
>>22
他に方法ある?
sortして一番上のレコード一個取得して+1とか?
25:NAME IS NULL
06/11/29 17:04:37
>>24
いや、彼はおそらく、自前で求めるんじゃなくて、オートインクリメント
使えといいたいだけだと思う。
26:NAME IS NULL
06/11/29 17:42:25
>>24
だからさ、、なんでuserIdのmaxをそのdbをいちいちなめて取得するわけ?
登録するたびにMAXのクエリ走らせて、その間dbロックするわけだ。
普通は会員番号MAX値もつ1レコードのみの会員番号dbを作り、
それをPGで更新する。dbの取得、解放が一瞬で済む。
大量のトランザクションが入った場合にどうなるか考えてみて。
27:NAME IS NULL
06/11/29 20:05:38
ミッションクリティカルならともかく、userIdにインデックス作ってあるなら
MAXのクエリ走らせても結果は即効で返ってくるんじゃね?
全然別の話だが、そういう会員番号で4と9は縁起が悪いから、
と言う理由で演技の悪い番号はすっとばす様、>>26の方法で
作ったんだけどサ。
28:NAME IS NULL
06/11/29 21:36:38
>>27
理由にワロタが、そんなことしないで最初からダミー入れとけよ。
29:NAME IS NULL
06/11/29 21:43:15
微妙にイタチだが、mysql の datetime型カラムをの更新で、java の
PreparedStatement で Date変数をエレガントに setするにはどうやるの?
.setDateじゃ日付だけだし・・
エレガントじゃない方法(文字列でセット)はあるのだが・・・
30:NAME IS NULL
06/11/29 22:21:19
>>27
userIDとは別にデータベース管理のためだけに表には出ない通し番号付けておいた方がいいような気はする。
それにすらも特定の数字が使えないってことになると…そういう経験ないからどんな方法がいいのかちょっとわからん。
31:27
06/11/29 23:03:33
縁起の悪いナンバーをすっとばすのは、漏れも話を聞いたときはハァって
感じだったんだが、当時は言われたので仕方なくって感じだったな。
要するに頭から10人を開発の人間に割り当てればよかったんだろうけど、
開発の人間は10人もいなかったし、そもそも若い順に割り振るときに
会社の年輩のお偉いさんからあてられるので…。政治的(?)なのもあったしなぁ。
日本は迷信深い民族です。
32:27
06/11/29 23:08:41
もう忘れかけたけど、覚えている飛ばしナンバーは
4,9,42,666くらいだったなぁ。
666は漏れの趣味だったが。
さすがに44とか99の連番や組み合わせまでサポートする気はなかった。
33:NAME IS NULL
06/11/29 23:15:46
無いはずのuserIdがぁぁぁ、オカルト。。。。
34:NAME IS NULL
06/11/30 16:42:03 PfW/c3EC
自分、Microsoft Visual Studio express 2005
をつかっております。mysqlでデーターベースの勉強をしようと
しているのですがCからmysqlをつかうにはどうすればいんでしょか。
いちおうmysqlのソースファイルからコンパイルすればライブラリができる
ようなのですが自分、VC2005しかもってなくていろいろエラーがでて
コンパイルができません。mysql++というのもあるようですがvc6専用の
ようですしC用ライブラリのコンパイル済みのものはいったいどこから
入手すればよいのでしょうか。
35:NAME IS NULL
06/11/30 17:16:41
>>34
ODBCの存在&理解をした上での質問かをまず押させておきたい。
36:NAME IS NULL
06/11/30 17:20:31 PfW/c3EC
これは失礼いたしました!いまODBCというものを高速学習中です。
どうも失礼いたしましたあ。
37:NAME IS NULL
06/11/30 17:50:29 PfW/c3EC
Developerパッケージがインストールされてませんでした。
どうもすいません。
38:NAME IS NULL
06/11/30 20:14:14 Q9TtbzRf
散々MySQLの本で探して判らないことがありまして、何方か1つご教授おねがい致します
以下のテーブルで前日よりもCのカラムの値が大きいBのカラムを1つづつ、表示させるにはどうすれば出せますでしょうか?
↓のテーブルではフィールド数が少ないので、個別に指定すれば可能なのですが、実際のテーブルはレコードが20万件あるので
前日よりCの値が大きいBのみ出力するSELECT文をおねがいします。
date B C
11/20 01 50
11/20 02 40
11/20 03 30
11/20 04 20
11/19 01 30
11/19 02 40
11/19 03 20
11/19 04 60
39:NAME IS NULL
06/11/30 20:34:26
>>38
よくわからんが、前日のC最大値よりも大きい当日のレコードを、
抽出するという風に解釈すると、俺がやるなら、
日付、C最大値というテーブルを作り、エントリー時に更新しておいて
それを使って抽出すると思う。
いわゆる死に筋商品を把握するために、商品マスタの最終売上日を更新するように。
40:NAME IS NULL
06/11/30 20:46:25 Q9TtbzRf
>>39
レス有難うございます。出力したい結果を書くのを忘れてました
実際に行いたいのは商品の売り上げが前日の値よりも大きいものだけを出力すると言うものです。
出力したい結果は
>>38の例ですと以下のような感じにしたいです。(()の部分はなしで)
B(商品ID)
01 ((50-30)=20>0 (前日比+20))
41:NAME IS NULL
06/11/30 22:31:52
>>38
これでどう?
ちなみにMySQL
DBに合わせて日付計算部分は書き換えて
select X.*, Y.* from TBL as X, TBL as Y
where X.DT=adddate(Y.DT, interval -1 day)
and X.B = Y.B
and X.C < Y.C;
42:NAME IS NULL
06/11/30 22:55:27
>>40
同じくMySQL
ただしset sql_mode=ansi;をやってからね
select
X.B as 'B', ' ((' || Y.C || '-' || X.C || ')=' || Y.C - X.C || '>0 (前日比+' || Y.C - X.C || ')) '
as '(商品ID)'
from TBL as X, TBL as Y
where X.DT=adddate(Y.DT, interval -1 day)
and X.B = Y.B
and X.C < Y.C;
43:NAME IS NULL
06/12/01 16:41:43
uniqueキーが重複してインサートされた時、
新しいデータで上書きするようにしたいのですがどのようにすればいいでしょうか?
44:NAME IS NULL
06/12/01 16:44:05
>>43
insert into xxx on duplicate key update xxxx
45:NAME IS NULL
06/12/01 18:16:24
>>44さん
できてしまいました!
即答いただきありがとうございます!
46:NAME IS NULL
06/12/01 20:21:03
REPLACEでもいい(場合もある)
47:NAME IS NULL
06/12/01 22:39:42
>>46
kwsk
48:NAME IS NULL
06/12/01 22:49:51 ZjZZDHpf
>>41,42
颯爽とレスを頂き有難うございます!
早速取り掛かってみようと考えていたのですが、知識不足の為判らないことがあります
select X.* という表記方法の場合Xはテーブル名だと思ったのですが、その後にfrom TBL as X と書いてあるので解釈が判りません
MySQLの本でselect *.* という書き方をしてたのは table.fieldの時だけでしたのでかなり探したのですが未だ判らずじまいでした・・・
もし良かったらご教授おねがいします
49:NAME IS NULL
06/12/01 23:29:31
Windows で使用中にサービスが停止しました。
エラーのファイルをみると
InnoDB: Operating system error number 995 in a file operation.
とあって調べるとWindowsのIOエラーのようですが
これって頻繁に起こるものなのでしょうか。
バージョンが4.0.16と古いのですが、5.0に上げるべき?
50:NAME IS NULL
06/12/02 01:24:00
Operating system errorなんだからオペレーティングシステムを替えないとダメだろ
またはハード不良や故障。
51:NAME IS NULL
06/12/02 01:32:03
2バイトの文字セットで悩んでるのって俺だけかいT_T
52:NAME IS NULL
06/12/02 10:28:46
49です。ありがとうございます。
OSかデバイスですか。
Wikipediaには
MySQLはUnix系プラットフォーム上でもっとも実力が発揮できる実装になっているため、
なるべくUnix系プラットフォームでの利用が推奨されている。特に、MS Windows系の
実装はDBアプリケーション開発者が利用する分には十分であるが、実際に運用を
行うには安定していない。
とありますが、Windowsでは運用は考え直した方がいいですか?
53:NAME IS NULL
06/12/02 14:02:12 90H8Pgn+
>>52
様々なしがらみ無く考え直せるのであれば Winでの運用は避けるべきだな。
おっと、最終節見なきゃw
54:NAME IS NULL
06/12/02 14:27:24 nHjXT2fA
その不安定さをねじ伏せる自信と実績が
あるんであれば使えばいい。
ただそれだけ。
55:NAME IS NULL
06/12/02 22:03:29
>>48
TBLは表名
表名が分からなかったんでTBLにした
同じ表をXとYで別に参照してる
56:NAME IS NULL
06/12/02 23:04:48 0BhgH+5+
winMySQLAdminをアンインストールしたいのですが、
プログラムの追加と削除に項目がありません。
どうやればアンインストールできますか?
57:NAME IS NULL
06/12/03 00:00:49
>53 54
ありがとうございます。
mySQLというかRDBを扱うのが初めてなので
他の問題が発生しにくい方がいいのですが
構成を決めたのは他の人なので簡単には変えられません。
Wikipediaに乗っているUNIXの方がというのは
正式な見解なのでしょうか?それとも一般的に
経験での話しでしょうか。世の中の経験でというのであれば
説得は難しいので、現状をなんとかするしかありません。
58:NAME IS NULL
06/12/03 00:54:07
MySQLの公式ドキュメントにも書いてある罠
59:NAME IS NULL
06/12/03 04:25:52
>>52 考え直したほうがいい
60:NAME IS NULL
06/12/03 04:54:03
>>59
横レスだが、実際どんくらい違うもんなのかね?
検証サイトとかあったらいいな
61:NAME IS NULL
06/12/03 07:27:02
Windows鯖だから特に不安定って事はないと思う。
ちゃんとした機器で構成(ここがビミョー)されていて、
変なソフト入れてなきゃ…。
Windows鯖に怪しげなバックアップソフトにウイルス対策ソフトに
Javaで動く妙な監視ソフトとか、秘文やらOfficeやらPCOMMとか
ドカドカ突っ込み、日中だれかが鯖にリモートデスクトップで作業(!)している
様な「藻前はWindowsXPでも使っとけ」みたいな運用していると、
謎な障害が発生する可能性が高い(w
62:NAME IS NULL
06/12/03 09:41:52
24時間365日windows機の前に座って、不具合が起きた時にリセットできる・運用を数分止めていいなら可
63:NAME IS NULL
06/12/03 10:02:16
>>61-62
なるほど、運用保守面での差異ね。使ったことないが、Unixってそんなに落ちないのか。
経験上、WindowsはMysqlよりApacheの方が落ちる気がする。
ちなみに速度にそれほど違いは無いの?
64:NAME IS NULL
06/12/03 11:01:05
>>63
WindowsとUnixが動く、同一プラットフォームと言うのはないからその質問は無意味かと。
#あったらスマソ
自作機でWindowsとLinuxで少ないリソースでどこまでパフォーマンス出せるか?
って点ならLinuxの方が上だが、業務で使う鯖で、そんな器用貧乏度を求めても
仕方ないし。
速度に違いは処理系による感があるからなぁ、単一バッチ処理をひたすらなら
Window鯖も遅くないと思うけど、プロセスが同時に走りまくるとUnixの方が
遅くなりにくく、Jobのプロセス優先度を比較自由に変更できるので、
業務とかで「この帳票を真っ先にみたいっす」と客に言われたら、
時間のかかりそうなjobを後回しや、停止とかを気楽(?)に出来るから
単に速い遅いではなくて、ある程度以上の技術者・運用オペレータにとっては
Unixの方がヘビー(?)な業務に向いている。
Windowsでもプロセスの優先度を変更できるようベンダーが作ってあれば
いいんだが、変更できないソフトウェアとかが混じっているとイラつく事この上ない。
65:NAME IS NULL
06/12/03 11:03:13
mySQLのサイトで推奨のOSとファイルシステムみたいのは見たことあるが
Winでは運用やめとけみたいのはあるのか?
というか、そんなこと書いてていいのか?
66:NAME IS NULL
06/12/03 11:19:37 RsiFGmvQ
>>64
apacheはかなり強いよ。そこそこPVがあるサーバを何台か管理してるけど数年
続けて動く。1度も落ちない鯖も普通にある。
httpdっプロセスを定期的に起動しなおすので不具合を抱えこまない。
mysqlは多くて年に1度落程度落ちるかな。
67:NAME IS NULL
06/12/03 15:01:14
>>61
書き込み見てドキッとしたよ.
会社にそんなサーバー2台置いてるよ.
3年ほど動かしてるけど特にトラブルはなかったな.
68:NAME IS NULL
06/12/03 15:49:25
WInodwsならMSSQLつかっときゃいいじゃん
69:NAME IS NULL
06/12/03 18:16:15
windows運用の決めてはM$製みので固める事。
これでも不安定になるのに、MySQLなんて入れていたら、
月例アップデータで何をされるか、わかったものではありません。
70:NAME IS NULL
06/12/03 19:08:42
Win鯖使うなら素直にMSのSQLServer使うほうがいいと思うよ。
RDB製品としてはそんなに悪くないし、入門者向けの書籍や記事も多いし。
Unix系の技術者からするとMSのOSがあんまし信頼できないイメージが
出来てしまっているし、漏れもあんまいい印象がないしなー。
71:NAME IS NULL
06/12/03 23:54:05
そもそもオープンソースって、ねじ伏せる自信と実績が無いとまともに使えないだろ。
業務に使うのに、たまたま動いてますじゃ駄目だし。
MySQLに限った話ではない。
72:NAME IS NULL
06/12/04 00:15:36
オープンソースをねじ伏せる自身と実績があっても
会社組織の政治的なからみがあったりして採用されない事もあるし。
漏れの周りの例だと某地銀の元銀行員が系列ベンダー子会社に天下りして、
そのベンダー子会社がIBMの二次特約店だったりして、
腐った中国製IBMパソコン使わされたり、無意味にxServer(Win鯖)
売りつけられたり…。
でそのベンダー子会社は技術力ゼロだから、酷いシステムでマトモに
動いていなかったりするんだが、他に営業に行くときに
「○○銀行でシステム構築しました。任せてください!」と口だけ100人前で
実際は外注の派遣に尻拭いさせてたりする。
73:NAME IS NULL
06/12/05 01:01:18
49です。
MYSQLの公式ドキュメントでWindowsでの運用がどうこうという
のは見つけられませんでした。
どなたか御存知でしょうか?
運用を考えるとWindowsもUNIX系でも結局はインストールして
使うだけではだめってことですね。せっかく関わったので
学びます。
74:NAME IS NULL
06/12/05 02:39:43
>>73
URLリンク(bugs.mysql.com)
75:NAME IS NULL
06/12/05 22:59:38 tsV4Skt/
MysqlAdministratorでテーブルの複製をするにはどうしたらよいのでしょうか?
76:NAME IS NULL
06/12/05 23:02:47
Winodwsなら、IISやMSSQLを使いましょう
WIndowsで何かをするということは、そういうこと
ApacheやMySQLは使わないほうがいい
77:NAME IS NULL
06/12/06 16:54:22
Windows にVMware入れて amp しる。
78:NAME IS NULL
06/12/06 23:18:35 u4BrqdS9
すいません、>>75ですがどなたかご存知ないでしょうか?
かねやんMysqlAdminにテーブルの複製及びその際のSQL表示の機能があり、
とても重宝していました。MysqlAdministratorにもあったら嬉しいのですが。
79:NAME IS NULL
06/12/07 12:38:31
Windows上でMySQL動かしてる人少ないだろうし、ましてやツールの話。
レスは期待できないと思うが。
80:NAME IS NULL
06/12/07 16:39:33
>>75
オレはコンソール派だが、SQLyog ってチェックした?
URLリンク(www.webyog.com)
81:NAME IS NULL
06/12/08 01:29:41
>>78
かねやんのは、推測だけど 複製は複数SQL発行で
擬似的にやってたんではない?
82:NAME IS NULL
06/12/08 13:40:23
>>79
別にlinuxのmysqlだって管理できる訳だが。
83:NAME IS NULL
06/12/08 23:52:41
MySQL5 で phpMyAdmin からデータベースを作成しようとしています。
照会順序の文字コードで utf8_unicode_ci と utf8_general_ci で何か差はありますか?
合計欄には utf8_general_ci が書かれています。
UTF-8 はどちらが一般的なのでしょうか?
84:NAME IS NULL
06/12/09 01:27:32
>>83
俺は総合職志向だからジェネラル
85:NAME IS NULL
06/12/09 05:37:57
すんません、いま5.0と5.1とではどっちの方が安定版なんですか?
86:NAME IS NULL
06/12/09 08:31:29
4のほうが安定。
87:NAME IS NULL
06/12/09 11:22:31
4.1で一行に8000byteまでしか入らないとかっていうのは修正されているの?
88:NAME IS NULL
06/12/09 13:09:37
>>84
職志向は不明だけど、generalの方が良いってことですかね。
89:みるっひ
06/12/09 13:22:27 28ExNdMW
navicast上でファイルをコピーしていたら、異常終了し、次に立ち上げたときは参照で開いていたファイルが消えていました。
どなたか、復旧する方法をご存知ないですか。
90:NAME IS NULL
06/12/09 17:06:56 Ktzg835s
WindowsXPのローカルで使っているMYSQL5が5GBを超えまして、
他のPCにバックアップしたと考えております。
mysqldumpコマンドを使ってSQL文をバックアップするのが、時間が掛かってしますので、
{$MySQL}\data以下のフォルダをバックアップして、
何かあったときに、dataフォルダを入れ換えたらちゃんと復元されますか?
バックアップの方法でmysqldump以外にはないのでしょうか?
# というのは、データの中に文字化けする文字列が含まれているものがあり、
# mysqldumpでSQL文を出力しても、SQL文が破損('が化け文字のせいで無くなってしまう)
# して完全に復元できないので困っています。
宜しくお願いします。
91:NAME IS NULL
06/12/09 17:33:58
他のPCにレプリケーション設定した方がよくね?
92:NAME IS NULL
06/12/09 18:21:50
my.iniで
default-character-set=sjis
これを
default-character-set=EUC-JP
に変更するとMySQL起動時にエラーが出るんですけど、
EUC-JPは対応されていないのでしょうか?
93:NAME IS NULL
06/12/09 18:24:03
URLを入れる項目があり、URLは空白でも構わないが、重複は不可
にしたいので、UNIQUEを付けました。
空白の2回目以降にもエラーが出てしまいます。
UNIQUEは、空白もだめなのでしょうか?
94:NAME IS NULL
06/12/09 18:37:28
>>93
UNIQUE = 唯一無二
という意味ですよ旦那
95:NAME IS NULL
06/12/09 19:17:17
>>92
euc-jpは使えるがEUC-JPじゃないだけ。
つかマニュアル読んだ?
96:NAME IS NULL
06/12/09 22:11:49
アフォが増えたな。
特集記事でも出たのか?
97:NAME IS NULL
06/12/09 22:47:21
専門学校や大学のプログラミングの授業でデータベースアクセスが登場する時期。
98:NAME IS NULL
06/12/10 00:30:55
>>90
MyISAMのデータベースならバイナリーバックアップで
何度かリストアもしてるが問題ない。
データだけじゃなくてMySQLサーバ関連もバックアップしてるけど
最低限設定ファイルがあれば大丈夫だと思うけどね。
あと権限データベース(mysql)はdumpしておくこと。
まあでも>>91が、設定は結構簡単でリストアも楽かね。
99:NAME IS NULL
06/12/10 00:52:33
>>93
空白ってのがどういう物なのか判らないが、Nullなら幾つでも持てるだろ。
ANSI/ISO SQL標準では、UNIQUEの対象にNullは含まない。
Oracle、PostgreSQLはそうなっているがMySQLは忘れた。
ここ見るとそうなっていそう。
URLリンク(dev.mysql.com)
> UNIQUE インデックスでは、インデックスのすべての値に
> 重複がない状態でなければならない。ただし、例外として、
> そのインデックスのカラムの 1 つで NULL 値が格納可能な場合、
> 複数の NULL 値を格納できる。
100:NAME IS NULL
06/12/10 08:18:16
2chのdatファイルをmysqlで管理したいんですけど、
perlでもなんでもいいんですけどdat->mysqlのスクリプトかなんかってありますか?
101:NAME IS NULL
06/12/10 09:05:45 RuiX/LUR
>>91
>>98
レスありがとうございます。
レプリーケションについて調べてみましたら、非同期でも出来るんですね。
ローカルonlyのMYSQLなので、常時2台も立ち上げるのは辛いと思っていたのですが、
これなら、いけそうです。ありがとうございました!
102:NAME IS NULL
06/12/10 10:48:03
そうか、冬休み前にデータベースの授業で、課題提出が冬休み明けってやつか。
宿題スレ無いけどガンガレ。
相性悪いと思った香具師は、就職後にデータベースの仕事はしないでくれ(w
103:NAME IS NULL
06/12/10 20:30:33
>>99
null入れたら、うまくいきました。
ありがとうございました。
104:NAME IS NULL
06/12/11 19:28:01
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
105:NAME IS NULL
06/12/11 20:07:37
printf("%s", 0);
106:NAME IS NULL
06/12/11 20:46:32
すみません。質問させてください。
VBA+ado(2.8)+MySQLODBCdriver3.51にてlocalhostの
mysql(version 5.0.27)のレコードを更新しようとして
いるのですが、うまくいきません。
下記の構文でうまくいかないのですが、レコードの追加(.AddNew)
を書き加えるとレコードの追加に関しては成功しますし、
更新も.Execute ("UPDATE〜の方を使えばうまくいきます。
(また下記の構文で.mdbファイルは更新できました。)
なにか思い当たる原因などありませんでしょうか。
つづく・・・
107:106
06/12/11 20:48:08
Private Const DBsource = "dsn=MYSQL"
Dim objCon As ADODB.Connection
Dim objRS As ADODB.Recordset
Set objCon = New ADODB.Connection
Set objRS = New ADODB.Recordset
objCon.Open DBsource
objRS.ActiveConnection = objCon
objRS.Source = "SELECT * FROM table1 WHERE id = 47"
objRS.CursorType = adOpenKeyset
objRS.LockType = adLockPessimistic
objRS.Open
(objRS.addnew '<-この行を有効にすれば更新はうまくいきます)
objRS!hoge_name = "hogehoge"
objRS.Update
objRS.Close
objCon.Close
Set objRS = Nothing
Set objCon = Nothing
108:NAME IS NULL
06/12/11 21:11:08 zMnd3KGN
レベルの低い質問ですみません。
レンタルサーバ上のMySQLに、MyODBC経由で実験的にPOSレジソフトからアクセスしています。
今ひとつ接続が安定せず、1日で数回「MySQL server has gone away」エラーでアプリが強制終了します。
立ち上げなおすと普通に動きます。接続が切れるのは不定期です。
どんな原因が考えられるでしょうか。
(サーバーはLinux クライアントはwinXP CATVの常時接続です。)
(Mysqlは4.xx)
109:NAME IS NULL
06/12/11 22:09:52
>>108
質問のレベルはよしとして、まずはググッた?
まんま、"MySQL server has gone away" でググレば先頭にどんぴしゃな情報が出るが。
偉人が出るぞ。
110:NAME IS NULL
06/12/12 01:29:52 axPuhmGY
108です。
早速ありがとうございます。
ぐぐってみました。4.1のリファレンスが出てきました。
タイムアウトで生じるエラーのようですが、いまひとつわからないので教えてください。
デフォルトで8時間何も無いとタイムアウトですが、
当方のケースの場合、数十分程度でエラーが出ます。しかも間隔が一定ではないようです。
サーバー側の設定も調べてみましたが、とくにデフォルトの設定を変更してはいないようです。
データーも、商品の単価や個数といった小さなものです。
ちなみにソフトはこれです。 URLリンク(www.nyushukka.com)
lローカルでMDBベースで使っていたときは全く問題ありませんでした。
サーバーの他のデーターベースは普通に動いているので、たぶん問題ないと思います。
かねやんなどをつなぎっぱなしにしても大丈夫です。
ODBCの設定などでなんとかなるでしょうか? お聞かせください。
111:NAME IS NULL
06/12/12 02:23:03
>>110
ぐぐったら出てきたであろうページの下の方に、事例や調べ方が
出てるんだから、まずそこに書いてある事をやってみるべきでしょ。
112:NAME IS NULL
06/12/12 02:34:59 ypiJkJfO
そんなことよりこれやろうぜ
◇◆元祖MMORPGガディウスがなんと今だけ無料◆◇
(12月13日までだから急ごう!)
長い歴史を持つガディウスがなんと5周年記念につき2ヶ月間無料!
とてもおくが深い対人戦!ノーペナルティのPK!とても使いやすいチャット!
どこか懐かしい2Dなので古いパソコンでも動作!なんとメモリ64MでOK!
始めようと思った方は今すぐ公式からSTART!!!
wiki URLリンク(www6.atwiki.jp)
↑始める前に見ておこう!公式もここからいけるよ!
初心者用スレ スレリンク(mmo板)
↑解らないことがあったらここで聞こう!お兄さんが優しく教えてくれるよ!
SS URLリンク(pc.watch.impress.co.jp)
URLリンク(cyan.gazo-ch.net)
URLリンク(cyan.gazo-ch.net)
URLリンク(www6.atwiki.jp)
↑なんと見た目は自由に変えられる!その組み合わせ数なんと10億通り以上
国家対戦 URLリンク(big.freett.com)
↑なんと200対200の大規模な国家対戦が可能!白熱の対戦をごらんあれ!
113:NAME IS NULL
06/12/12 16:24:15
>>112
期末テストが終われば暇なだけの厨房乙w
114:6
06/12/12 21:25:17
>>12
EXPLAINだけど、もしかしてMySQLって、
1行もデータがないときは 調べれないの?
115:12
06/12/12 21:31:20
>>6
そう。
mysql的に1つも無いとわかりきっている where だと EXPLAIN で調べられない。
116:NAME IS NULL
06/12/12 21:37:51
はて、verちがいかな。エラーにはならないけど。
117:NAME IS NULL
06/12/12 21:41:09
ああ、出た出た。116は無視しておくれ、スマン
118:NAME IS NULL
06/12/12 22:20:31
CREATE TABLE s04e137book(id INT UNSIGNED PRIMARY KEY, title VARCHAR(100), price INT UNSIGNED);
これを数値型のフィールドを基準にデータを並び替える問題を作成する問題とSQL
そして識別番号が大きい順番から二つのレコードについて、値段を1000に変更するSGLを作成する方法
いまいちよくわからないので、ご指導願います
119:NAME IS NULL
06/12/12 22:26:32
>>118
ニホンゴワカリマスカ?
120:NAME IS NULL
06/12/12 22:29:24
>>119
自分の理解能力が恐らく不足しているのでしょうけど
それでもわからなかったので…
121:NAME IS NULL
06/12/12 23:07:15
すれ違いでした申し訳なく
122:NAME IS NULL
06/12/13 12:27:54
>>118
質問内容を良く読み直し正しい日本語で質問せよ。
123:NAME IS NULL
06/12/13 16:56:41 CIjp93Pg
OracleでいうとEMP表とかDEPT表でサラリーがどうたら、部署がどうたらできるような
Mysqlを勉強するのに手頃なサンプルDBってないかな?
124:NAME IS NULL
06/12/13 19:44:50
>>123
オラの『初めてのSQL』(定価2,520円)、そのサンプルDBが落とせる。
それで勉強したまえ。
URLリンク(www.oreilly.co.jp)
URLリンク(examples.oreilly.com)
ちなみに例題として取り扱うのは銀行業務
125:NAME IS NULL
06/12/13 19:54:24
>>118
ここで質問をする前に日本語の勉強をしてこい
誘導先↓
■日本語が難しくて困ってます■
スレリンク(gengo板)
126:123
06/12/13 22:34:17
>>124
ありがとう、外の人。
127:NAME IS NULL
06/12/14 00:22:28
なんか一気に質問スレ化してるな。
おまいら課題ガンガレ。
不可者は仕事でDB使うなよ(w
128:NAME IS NULL
06/12/14 11:24:42 KImeLr6k
教えてくれ。
fedora3にMySQL入れなくてはならない事になったのだが、
rpm -ivh MySQL-server-standard-5.0.27-0.rhel3.i386.rpm
error: Failed dependencies:
perl(DBI) is needed by MySQL-server-standard-5.0.27-0.rhel3.i386
と出たのだが、俺は何をすべきか?
perl DBIというのをどこかから探してきて先に入れればいいのか?
どこにあるんだ?
129:NAME IS NULL
06/12/14 11:49:27
CPAN
130:NAME IS NULL
06/12/14 14:09:55
重複した要素の場合、表示しないというふうにやりたいのですがどうすればいいでしょうか?
SELECT `name` FROM `dog_tbl` WHERE `birthday`< 2000-1-25 and `birthday`< 2006-12-14;
このように2000年の1月25日から今日までの誕生日で検索してどんな名前の犬がいるのかと、同じ名前の犬の数を表示したいのです。
131:NAME IS NULL
06/12/14 15:27:59
>>130
group by 犬の名前
132:131
06/12/14 15:30:28
>>130
具体的には↓
SELECT name,count(*) FROM dog_tbl WHERE birthday < '2000-1-25' and birthday < '2006-12-14' group by name;
133:NAME IS NULL
06/12/15 02:23:33
課題を書くと答えを教えてくれるのか
みんな優しいなぁ
134:NAME IS NULL
06/12/15 03:15:56
俺なんか課題出した後で2ch監視してても誰も来なくて
翌週提出日が来ても誰ひとりとしてやってこなくて泣きそうになった
135:114
06/12/15 08:33:33
>>115
ありがとう
実験用にダミーデータを入れてから検証することにしますよ
こういうのって本家のFAQかなんかに書いとけばいいのにな
メールしとくかな
136:NAME IS NULL
06/12/16 09:27:17 A843xKfr
すみません。基本的なことかもしれませんが質問です。
mysqldumpでバックアップをとる際に、レプリケーション構成の場合はスレーブ側で
実行しても良いのでしょうか。引数に「--master-data」を指定するのでマスタ側で
実行する必要があるのかと悩んでいます。
実行するコマンドは以下の通りです。
$ mysqldump --user=root --password=password --socket=/tmp/mysql.sock --single-transaction \
--master-data --flush-logs --hex-blob --default-character-set=utf8 --all-databases \
--result-file=/var/backup/mysql_xxxx.dmp
なお、スレーブ側の設定にlog_slave_updatesはありません。
137:NAME IS NULL
06/12/16 10:12:36
MySQL 4.1.20
すいません、今度PCを買い換えようと思っています。作成しているデータベースについてはmysqldumpでバックアップを取ってるから
それをインポートすれば良いと思うのですが、それ以前のユーザーに関する設定などはどのようにバックアップするんでしょうか?
ついでにコンソールから
show databases; とうっても自分の作ったデータベースしか見えないんですけど、確かmysqlって名のデータベースありませんでしたっけ?
dataフォルダにはmysqlってフォルダはあるんですが。
138:137
06/12/16 10:19:13
>確かmysqlって名のデータベースありませんでしたっけ?
についてはrootで入ったら見れました。
139:137
06/12/16 10:42:05
このmysqlデータベースを通常通りバックアップ・インポートすればいいみたいですね。
お騒がせすいませんm(__)m
140:NAME IS NULL
06/12/16 11:11:59
MySQLをlinuxやらにインストールした場合の
/etc/my.cnf の文字コード設定の意味がよく分からないのですが、
あれは、「データの文字コードを勝手に○○○にしますよ」という
意味なのでしょうか?
例えば、ujis にした場合、
保存データを勝手にEUC-JPにしちゃいます、ということなのでしょうか?
色々なページを見ましたが、イマイチ理解できません。
ujis にした場合は、UTF-8で保存するのは不可能なんでしょうか?
141:NAME IS NULL
06/12/16 11:28:33
適当なテストデータベースでも作成して試してみればいいじゃん。
親切な人がいると思ったのか質問の嵐だな…。
質問答えた人は親切心からなんだろうけど、スレが質問ばっかになるのはげんなりだ。
142:NAME IS NULL
06/12/16 11:33:34
試してみればいいじゃん、と答える人がよくいますが
かなりのDQN発想ですよね
143:NAME IS NULL
06/12/16 12:33:24
試すのが一番理解が早いだろ
なんでもそうだけど
受験勉強でもそうだっただろw
千畝から、こういうときはこうするんですよって教えてもらっても
数日後にはさっぱり忘れちゃってる
先生に教えてもらったことを、実際に鉛筆もってやって
はじめて身につくもんだ
わかった?ぼくちゃん
身に着ける必要がないなら、誰かさんに金はらってやってもらいなさい
144:NAME IS NULL
06/12/16 15:21:03
爆発はしないからやってみろ
他人からの伝聞の時点で、伝言ゲーム同様に正確に伝わってなかったりするし。
テスト環境と運用環境の分離ができないならオープンソースは使ってられないと思うぞ。
145:NAME IS NULL
06/12/16 19:46:02
無料こそオープンソース採用の理由なのに、鯖にお金かける訳無いじゃん。
開発機がそのまま運用機になって、そのままだよ。テスト機なんて買うことは有りません。
リナクスでのインスコ話は、マイエスクーエルに関係無いから、リナ板で訊いた方が良いよ。
146:NAME IS NULL
06/12/16 21:02:00
なんか頭悪そうだなぁ…
147:NAME IS NULL
06/12/16 21:13:00
運用後に発覚したバグ修正や機能追加はどうするんだ…。
長期間業務止めて大丈夫、もしくはバグは絶対ない、機能も追加しないっていうならまぁありかもしれないけど。
148:NAME IS NULL
06/12/16 21:32:09
俺の会社の場合は、ハードを買えば仕事が進むと思っている馬鹿が多い。
予算枠の中で鯖と開発機と端末を確保するとS/Wはオープンソース採用になってしまう。
泣けるぜw
149:NAME IS NULL
06/12/16 23:10:30
別にサーバーサイドのソフトがオープンでも構わんけどな…。
ただ、開発端末PCが低スペック(メモリ256MBとか)でFefora5とかで開発汁とか
言われるとモニョるモノがある。
150:NAME IS NULL
06/12/17 00:29:10
オープン採用で日々のメンテのコストはサビ残で負担ですか。
もうアフォかと。
ちゃんと商用ソフト買って、年間サポート契約結べば何もしなくて良くなるのに。
151:NAME IS NULL
06/12/17 02:26:31
ちゃんと商用ソフト買って、年間サポート契約結ぶとこんな効果が:
・サポートの電話がつながらない
・サポートがこちらの言う事を理解しない
・二言目には「それはサポート外」ですと言う
・状況を尋ねるといつも「開発元に問い合わせ中です」
・結局電話で解決した事は一度もない
・なかなか来てくれない
・来てもトラブルが解決しない
・それどころか悪化させる
・そういえば先日サポートが来て何かいじってから調子が悪い
・サポート担当の顔を見るのも声を聞くのも嫌だから電話したくない
・最近胃が痛い
152:NAME IS NULL
06/12/17 03:58:26
オープンソースを採用するとこんな効果が:
サポート先がそもそも無い。
自分でなんとかするしかなくて、膨大な対応時間とサービス残業が発生。
開発者にメールしても、こちらの言う事を理解しない
開発者が二言目には「それは仕様です」と言う
開発者に状況を尋ねるといつも忙しいと言う。
結局、開発者にメールして解決した事は一度もない
開発者が出張サポートしてくれることはほぼ無い。
開発者にパッチを送っても採用せずにいつまでもトラブルが解決しない
それどころか、変な機能付けて余計にバグが増えてリリースされる。
開発者が無責任でソースコードのメンテナンスが行われない。
そういえば先日バージョンが上がってから調子が悪い。
もうオープンソースなんて絶対導入しないと心に決める。
最近胃が痛い。出社するのが嫌になる。
153:NAME IS NULL
06/12/17 09:50:44
サービス残業はオープンソースとはなんにも関係ない訳だし、
そんなDQNな開発者に開発依頼する方もDQNだな。
154:NAME IS NULL
06/12/17 12:25:38
つまりオープンソースを採用するのはDQNな開発者ってことだよ。
自分の対価と言うか飯の種が何なのかを考え直した方が良い。
一時間かけてソースを修正した対価は無料という対価で満足できるのか?
一日かけてソースを修正した対価は無料という対価で満足できるのか?
一週間かけてソースを修正した対価は無料という対価で満足できるのか?
一ヶ月かけてソースを修正した対価は無料という対価で満足できるのか?
一年かけてソースを修正した対価は無料という対価で満足できるのか?
10年かけてソースを修正した対価は無料という対価で満足できるのか?
155:NAME IS NULL
06/12/17 12:30:30
>>151
不覚にも笑ってしまった自分が悔しいw
156:NAME IS NULL
06/12/17 12:30:59
とりあえず、154がDQNだと言う事はよく解る。
157:NAME IS NULL
06/12/17 12:34:31
MySQLは商用サービスもやっているわけで、対価が無料とかホザいているアフォがいるな
158:NAME IS NULL
06/12/17 12:42:36
SQL文的には等価結合
(単純にテーブル1.フィールド=テーブル2.フィールドをWHERE句に追加)
が非常に使いやすいのですが、
一方が存在しない場合に結果に含まれないのは困ります。
一方で外部結合は、JOIN句を使う必要があり、
極力使いたくないです。
他に良い方法内でしょうか。
159:NAME IS NULL
06/12/17 13:11:14 6/NZmALt
飯は卵かけが好きです
160:NAME IS NULL
06/12/17 13:29:11
>>158
【帰ってきた】SQL質疑応答スレ 3問目
スレリンク(db板)
161:NAME IS NULL
06/12/17 20:18:59
MySQLの商用サービスって、不具合起きたときに駆けつけてくれるのか?
リナックスみたいにメールだけじゃないの?
162:NAME IS NULL
06/12/17 21:34:46
不具合が起きたときに自力で対処しない(できない)おまえは向いていないから辞めた方がいいよ。
163:NAME IS NULL
06/12/17 21:37:25
なんでOSサポートとサーバーソフトウェアとサポートを同列に考えるのか知らんが、
RHELは電話サポートもある。HPとRHELならトラブル起きたら駆けつけてくれる。
MySQLは知らんけどOracleは不具合があったら駆けつけてくれるのか?
テクニカルサポートは24Hやってるのは知ってるが駆けつけてくれた事はないんだが。
なんか業務をしたことないヤツに鈎って「サポートが」とかトンチキな事言ってるな。
164:NAME IS NULL
06/12/17 21:42:05
あ、ちなみに漏れの経験ではOracleの24Hサポートは
24時間「質問を受け付けてくれる」だけでソッコー解決するワケじゃないからな。
サポートに変な幻想持たない方がいいぞ。
現実はサポートに聞くよりもググる方が解決早いからな。(w
165:NAME IS NULL
06/12/17 22:30:36
つか、ソフトウェアの問題で駆けつけてもらって何か意味あんの?
端末丸ごと貸して、あとよろしく!とかそんなん考えてる?
166:NAME IS NULL
06/12/18 00:13:44
ぶっちゃけなー、例えばIBMとかの保守契約(ソフトのも)も入っていて、
不具合があってもすぐに解決は不可能なんだけどな。
まず、IBM側の不具合と証明するまでに凄く時間がかかる。と言うか
その不具合報告する技術者のレベルがIBMの技術担当と同じレベルの
会話が出来んと、問題の切り分けが出来んワケだから、>>161みたいな
レベルの技術者ではサポート契約結んでいても、無駄になる可能性と言うか
>>151みたいな状態になる事多いんだよ。
これでもIBMは対応してくれる方だと思うけど、これが他企業だとホントに酷い例があるからなー。
167:NAME IS NULL
06/12/18 03:52:54
トータスって
スレリンク(techno板)
168:NAME IS NULL
06/12/19 06:31:47
オラクルの場合はベンダーがサポートしてくれるよ。
NECでも富士通でも電話すれば飛んでくるサービスが有る。
169:NAME IS NULL
06/12/19 11:10:14
でもある程度のトラブルなら自力で復旧できないとなぁ。
170:NAME IS NULL
06/12/19 17:07:41
>>168
結構な費用がかるんでしょうか?
171:NAME IS NULL
06/12/19 21:40:23
この場合のベンダーってNECはちょっと別にして富士通がくるの?
Oracleを売ったベンダー(w)がくるの?
それともOracleの正社員がくるの?
OracleがRHELをサポート開始したのは知ってるけど、駆けつけるまで
しなかったと思った。
172:NAME IS NULL
06/12/19 22:07:49
オラクルマスターと言えども、操作に長けているだけで、バグを熟知しているわけではないからな
173:NAME IS NULL
06/12/19 23:28:00
実際は単にオラクルマスターの資格をもったオラクルを納品した
下請けベンダーが駆けつけるだけ、って気がする。
で、バグはOracle本社に問い合わせるだけな気ガス
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4351日前に更新/269 KB
担当:undef