5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

MySQL 総合 Part10

1 :NAME IS NULL:2006/11/26(日) 06:35:01 ID:E6gWY1/u
快速 RDBMS、MySQL の総合スレです。
前スレ[MySQL 総合 Part9] http://pc8.2ch.net/test/read.cgi/db/1155794342/
[関連スレと過去ログ]
http://find.2ch.net/index.php?STR=MySQL
http://makimo.to/cgi-bin/search/search.cgi?D=db&q=MySQL&sf=0&link2ch=on

[MySQL Developer Zone] http://dev.mysql.com/
[MySQL 日本語リファレンスマニュアル] http://dev.mysql.com/doc/mysql/ja/
[MySQL Internals Manual] http://dev.mysql.com/doc/internals/en/

[MyNA] http://www.mysql.gr.jp/
[MLja] http://lists.mysql.com/mysql-ja

・関連ツール及びユーティリティ
・関連書籍
>>2

2 :NAME IS NULL:2006/11/26(日) 06:56:26 ID:???
【関連ツール及びユーティリティ】

[phpMyAdmin] http://www.phpmyadmin.net/
[phpMyBackupPro] http://www.phpmybackuppro.net/
[MySQLCC] http://www.mysql.com/products/mysqlcc/
[MySQL-Front] http://www.mysqlfront.de/
[mytop] http://jeremy.zawodny.com/mysql/mytop/

MySQL ABでの各種GUIツールは
MySQL GUI Toolsとして統合されています
http://dev.mysql.com/downloads/gui-tools/5.0.html
・MySQL Administrator
・MySQL Query Browser
・MySQL Migration Toolkit
・MySQL Workbench

【関連書籍】

[MySQL Books]
http://dev.mysql.com/books/
http://www.amazon.co.jp/exec/obidos/search-handle-url/ix=books-jp&fqp=keywords%01MySQL
http://www.amazon.co.jp/exec/obidos/search-handle-url/ix=books-us&fqp=keywords%01MySQL

3 :NAME IS NULL:2006/11/26(日) 07:01:41 ID:???
ここで質問をする前に、
MyNAでのFAQを最初に確認しましょう。

http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ

4 :NAME IS NULL:2006/11/26(日) 07:05:19 ID:???
テンプレ補足

■2ch風偉人伝 AA はこちら
http://www.aadayo.com/aa/02_13.html

5 :NAME IS NULL:2006/11/26(日) 16:43:32 ID:???
【関連ツール及びユーティリティ】

[Common SQL Environment] http://www.hi-ho.ne.jp/tsumiki/cse_1.html


6 :NAME IS NULL:2006/11/26(日) 20:00:31 ID:???
Impossible WHERE noticed after reading const tables

ってどういう意味?

7 :NAME IS NULL:2006/11/26(日) 23:24:53 ID:???
MyNAでの「心得の条」もテンプレ追加よろしく

http://www.mysql.gr.jp/frame/modules/bwiki/index.php?%BB%A8%B3%D8%2F%BF%B4%C6%C0

8 :NAME IS NULL:2006/11/27(月) 21:52:02 ID:???
>>6
出だしからして
スパイ大作戦と何か関係あるのでわ?

9 :NAME IS NULL:2006/11/28(火) 11:24:03 ID:???
>>6
まんま、そのキーワードでググルと 1,100,000 件ヒットする訳だが・・

10 :NAME IS NULL:2006/11/28(火) 11:40:24 ID:???
おはようフェルプス君、さて今回の君の任務だが...(ry

11 :NAME IS NULL:2006/11/28(火) 15:11:45 ID:???
>>9
そんなにヒットしてもわからないよ。説明がいっこもない。

12 :NAME IS NULL:2006/11/28(火) 16:17:42 ID:???
>>6
explain ? なら調べられないって。Where見直したら。

13 :NAME IS NULL:2006/11/28(火) 16:23:43 ID:???
>>11
>Impossible WHERE noticed after reading const tables

なぁ・・・もしかしてGoogleの使い方知らないの?
やってみたら、最初の一件目に答えが出てたよ
要はWHEREで指定した条件にマッチする行が一つもないってこったな

14 :NAME IS NULL:2006/11/28(火) 17:24:23 ID:kbA+YKf7
M I B

I


15 :NAME IS NULL:2006/11/28(火) 19:13:18 ID:???
最近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:2006/11/28(火) 19:41:52 ID:???
>>15
つ「おーといんくりめんと」

17 :NAME IS NULL:2006/11/28(火) 20:06:40 ID:???
>>15
16の通り、「おーといんくりめんと」を使うべきだが、最大値を取るには、
"SELECT MAX(userid) as userid FROM user" でクエリしたらいいんじゃね。

18 :NAME IS NULL:2006/11/28(火) 20:25:37 ID:???
>>15
これだとどう?
$result = mysql_query($sql);
$max = mysql_result($result, 0, 0);


19 :15:2006/11/28(火) 21:02:10 ID:???
>>16
それも考えましたが、この先同じような事態になったときの方法が知りたかったので・・・・。

>>17
>>18

2通りともうまくいきました!、ありがとうございます、ぐぐったりしてもSQL直接の書き方は
あってもPHPでのサンプルみたいなのがなかなか見あたらなかったので・・・、関数に関しても
IDで返すとはあってもそのIDを使って目的の値をどうやって引き出せばいいのかとか色々
試行錯誤してもダメだったもので・・、色々な方法があるものなんですね、内容の意味
ちゃんと理解して行きたいと思います、しかし慣れるまで大変だ・・・orz。


20 :NAME IS NULL:2006/11/28(火) 21:12:23 ID:???
>>15
「おーといんくりめんと」を使わないと、ちゃんと対策しな限りクリティカルなタイミングで
IDの重複が起こるかも。ロック、ユニークがヒント。


21 :NAME IS NULL:2006/11/29(水) 04:49:14 ID:???
あと、MIN/MAX/SUMが、最近エンバグしてしまったらしく、凄い数のバグと修正が上がってる。
要注意だ。


22 :NAME IS NULL:2006/11/29(水) 09:17:41 ID:???
>>19
少なくともUseridの新しい番号(連番?)を求めるために、
いちいちMAXで求めるなんていうひでえシステムを組んではいけない。

23 :NAME IS NULL:2006/11/29(水) 12:59:37 ID:???
4.1だけど、"〜 on duplicate key update 〜" の update 時に自分なりの where句は入れられ
ないでOK?
実験ではだめだった。あればさらに便利なのにぃ。

24 :NAME IS NULL:2006/11/29(水) 16:45:12 ID:FMjeEO6G
>>22
他に方法ある?
sortして一番上のレコード一個取得して+1とか?

25 :NAME IS NULL:2006/11/29(水) 17:04:37 ID:???
>>24
いや、彼はおそらく、自前で求めるんじゃなくて、オートインクリメント
使えといいたいだけだと思う。


26 :NAME IS NULL:2006/11/29(水) 17:42:25 ID:???
>>24
だからさ、、なんでuserIdのmaxをそのdbをいちいちなめて取得するわけ?
登録するたびにMAXのクエリ走らせて、その間dbロックするわけだ。
普通は会員番号MAX値もつ1レコードのみの会員番号dbを作り、
それをPGで更新する。dbの取得、解放が一瞬で済む。

大量のトランザクションが入った場合にどうなるか考えてみて。

27 :NAME IS NULL:2006/11/29(水) 20:05:38 ID:???
ミッションクリティカルならともかく、userIdにインデックス作ってあるなら
MAXのクエリ走らせても結果は即効で返ってくるんじゃね?

全然別の話だが、そういう会員番号で4と9は縁起が悪いから、
と言う理由で演技の悪い番号はすっとばす様、>>26の方法で
作ったんだけどサ。

28 :NAME IS NULL:2006/11/29(水) 21:36:38 ID:???
>>27
理由にワロタが、そんなことしないで最初からダミー入れとけよ。


29 :NAME IS NULL:2006/11/29(水) 21:43:15 ID:???
微妙にイタチだが、mysql の datetime型カラムをの更新で、java の
PreparedStatement で Date変数をエレガントに setするにはどうやるの?
.setDateじゃ日付だけだし・・
エレガントじゃない方法(文字列でセット)はあるのだが・・・

30 :NAME IS NULL:2006/11/29(水) 22:21:19 ID:???
>>27
userIDとは別にデータベース管理のためだけに表には出ない通し番号付けておいた方がいいような気はする。
それにすらも特定の数字が使えないってことになると…そういう経験ないからどんな方法がいいのかちょっとわからん。

31 :27:2006/11/29(水) 23:03:33 ID:???
縁起の悪いナンバーをすっとばすのは、漏れも話を聞いたときはハァって
感じだったんだが、当時は言われたので仕方なくって感じだったな。

要するに頭から10人を開発の人間に割り当てればよかったんだろうけど、
開発の人間は10人もいなかったし、そもそも若い順に割り振るときに
会社の年輩のお偉いさんからあてられるので…。政治的(?)なのもあったしなぁ。

日本は迷信深い民族です。

32 :27:2006/11/29(水) 23:08:41 ID:???
もう忘れかけたけど、覚えている飛ばしナンバーは
4,9,42,666くらいだったなぁ。
666は漏れの趣味だったが。
さすがに44とか99の連番や組み合わせまでサポートする気はなかった。

33 :NAME IS NULL:2006/11/29(水) 23:15:46 ID:???
無いはずのuserIdがぁぁぁ、オカルト。。。。

34 :NAME IS NULL:2006/11/30(木) 16:42:03 ID:PfW/c3EC
自分、Microsoft Visual Studio express 2005
をつかっております。mysqlでデーターベースの勉強をしようと
しているのですがCからmysqlをつかうにはどうすればいんでしょか。
いちおうmysqlのソースファイルからコンパイルすればライブラリができる
ようなのですが自分、VC2005しかもってなくていろいろエラーがでて
コンパイルができません。mysql++というのもあるようですがvc6専用の
ようですしC用ライブラリのコンパイル済みのものはいったいどこから
入手すればよいのでしょうか。

35 :NAME IS NULL:2006/11/30(木) 17:16:41 ID:???
>>34
ODBCの存在&理解をした上での質問かをまず押させておきたい。

36 :NAME IS NULL:2006/11/30(木) 17:20:31 ID:PfW/c3EC
これは失礼いたしました!いまODBCというものを高速学習中です。
どうも失礼いたしましたあ。

37 :NAME IS NULL:2006/11/30(木) 17:50:29 ID:PfW/c3EC
Developerパッケージがインストールされてませんでした。
どうもすいません。

38 :NAME IS NULL:2006/11/30(木) 20:14:14 ID: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:2006/11/30(木) 20:34:26 ID:???
>>38
よくわからんが、前日のC最大値よりも大きい当日のレコードを、
抽出するという風に解釈すると、俺がやるなら、
日付、C最大値というテーブルを作り、エントリー時に更新しておいて
それを使って抽出すると思う。

いわゆる死に筋商品を把握するために、商品マスタの最終売上日を更新するように。

40 :NAME IS NULL:2006/11/30(木) 20:46:25 ID:Q9TtbzRf
>>39
レス有難うございます。出力したい結果を書くのを忘れてました
実際に行いたいのは商品の売り上げが前日の値よりも大きいものだけを出力すると言うものです。

出力したい結果は
>>38の例ですと以下のような感じにしたいです。(()の部分はなしで)

B(商品ID)
01  ((50-30)=20>0 (前日比+20))


41 :NAME IS NULL:2006/11/30(木) 22:31:52 ID:???
>>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:2006/11/30(木) 22:55:27 ID:???
>>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:2006/12/01(金) 16:41:43 ID:???
uniqueキーが重複してインサートされた時、
新しいデータで上書きするようにしたいのですがどのようにすればいいでしょうか?

44 :NAME IS NULL:2006/12/01(金) 16:44:05 ID:???
>>43
insert into xxx on duplicate key update xxxx


45 :NAME IS NULL:2006/12/01(金) 18:16:24 ID:???
>>44さん
できてしまいました!
即答いただきありがとうございます!


46 :NAME IS NULL:2006/12/01(金) 20:21:03 ID:???
REPLACEでもいい(場合もある)

47 :NAME IS NULL:2006/12/01(金) 22:39:42 ID:???
>>46
kwsk

48 :NAME IS NULL:2006/12/01(金) 22:49:51 ID:ZjZZDHpf
>>41,42
颯爽とレスを頂き有難うございます!
早速取り掛かってみようと考えていたのですが、知識不足の為判らないことがあります
select X.* という表記方法の場合Xはテーブル名だと思ったのですが、その後にfrom TBL as X と書いてあるので解釈が判りません
MySQLの本でselect *.* という書き方をしてたのは table.fieldの時だけでしたのでかなり探したのですが未だ判らずじまいでした・・・
もし良かったらご教授おねがいします

49 :NAME IS NULL:2006/12/01(金) 23:29:31 ID:???
Windows で使用中にサービスが停止しました。
エラーのファイルをみると

InnoDB: Operating system error number 995 in a file operation.

とあって調べるとWindowsのIOエラーのようですが
これって頻繁に起こるものなのでしょうか。

バージョンが4.0.16と古いのですが、5.0に上げるべき?


50 :NAME IS NULL:2006/12/02(土) 01:24:00 ID:???
Operating system errorなんだからオペレーティングシステムを替えないとダメだろ

またはハード不良や故障。

51 :NAME IS NULL:2006/12/02(土) 01:32:03 ID:???
2バイトの文字セットで悩んでるのって俺だけかいT_T

52 :NAME IS NULL:2006/12/02(土) 10:28:46 ID:???
49です。ありがとうございます。

OSかデバイスですか。

Wikipediaには

MySQLはUnix系プラットフォーム上でもっとも実力が発揮できる実装になっているため、
なるべくUnix系プラットフォームでの利用が推奨されている。特に、MS Windows系の
実装はDBアプリケーション開発者が利用する分には十分であるが、実際に運用を
行うには安定していない。

とありますが、Windowsでは運用は考え直した方がいいですか?




53 :NAME IS NULL:2006/12/02(土) 14:02:12 ID:90H8Pgn+
>>52
様々なしがらみ無く考え直せるのであれば Winでの運用は避けるべきだな。
おっと、最終節見なきゃw

54 :NAME IS NULL:2006/12/02(土) 14:27:24 ID:nHjXT2fA
その不安定さをねじ伏せる自信と実績が
あるんであれば使えばいい。

ただそれだけ。

55 :NAME IS NULL:2006/12/02(土) 22:03:29 ID:???
>>48
TBLは表名
表名が分からなかったんでTBLにした
同じ表をXとYで別に参照してる

56 :NAME IS NULL:2006/12/02(土) 23:04:48 ID:0BhgH+5+
winMySQLAdminをアンインストールしたいのですが、
プログラムの追加と削除に項目がありません。
どうやればアンインストールできますか?

57 :NAME IS NULL:2006/12/03(日) 00:00:49 ID:???
>53 54

ありがとうございます。

mySQLというかRDBを扱うのが初めてなので
他の問題が発生しにくい方がいいのですが
構成を決めたのは他の人なので簡単には変えられません。

Wikipediaに乗っているUNIXの方がというのは
正式な見解なのでしょうか?それとも一般的に
経験での話しでしょうか。世の中の経験でというのであれば
説得は難しいので、現状をなんとかするしかありません。

58 :NAME IS NULL:2006/12/03(日) 00:54:07 ID:???
MySQLの公式ドキュメントにも書いてある罠

59 :NAME IS NULL:2006/12/03(日) 04:25:52 ID:???
>>52 考え直したほうがいい

60 :NAME IS NULL:2006/12/03(日) 04:54:03 ID:???
>>59
横レスだが、実際どんくらい違うもんなのかね?
検証サイトとかあったらいいな

61 :NAME IS NULL:2006/12/03(日) 07:27:02 ID:???
Windows鯖だから特に不安定って事はないと思う。
ちゃんとした機器で構成(ここがビミョー)されていて、
変なソフト入れてなきゃ…。

Windows鯖に怪しげなバックアップソフトにウイルス対策ソフトに
Javaで動く妙な監視ソフトとか、秘文やらOfficeやらPCOMMとか
ドカドカ突っ込み、日中だれかが鯖にリモートデスクトップで作業(!)している
様な「藻前はWindowsXPでも使っとけ」みたいな運用していると、
謎な障害が発生する可能性が高い(w

62 :NAME IS NULL:2006/12/03(日) 09:41:52 ID:???
24時間365日windows機の前に座って、不具合が起きた時にリセットできる・運用を数分止めていいなら可


63 :NAME IS NULL:2006/12/03(日) 10:02:16 ID:???
>>61-62
なるほど、運用保守面での差異ね。使ったことないが、Unixってそんなに落ちないのか。
経験上、WindowsはMysqlよりApacheの方が落ちる気がする。

ちなみに速度にそれほど違いは無いの?

64 :NAME IS NULL:2006/12/03(日) 11:01:05 ID:???
>>63
WindowsとUnixが動く、同一プラットフォームと言うのはないからその質問は無意味かと。
#あったらスマソ

自作機でWindowsとLinuxで少ないリソースでどこまでパフォーマンス出せるか?
って点ならLinuxの方が上だが、業務で使う鯖で、そんな器用貧乏度を求めても
仕方ないし。

速度に違いは処理系による感があるからなぁ、単一バッチ処理をひたすらなら
Window鯖も遅くないと思うけど、プロセスが同時に走りまくるとUnixの方が
遅くなりにくく、Jobのプロセス優先度を比較自由に変更できるので、
業務とかで「この帳票を真っ先にみたいっす」と客に言われたら、
時間のかかりそうなjobを後回しや、停止とかを気楽(?)に出来るから
単に速い遅いではなくて、ある程度以上の技術者・運用オペレータにとっては
Unixの方がヘビー(?)な業務に向いている。

Windowsでもプロセスの優先度を変更できるようベンダーが作ってあれば
いいんだが、変更できないソフトウェアとかが混じっているとイラつく事この上ない。

65 :NAME IS NULL:2006/12/03(日) 11:03:13 ID:???
mySQLのサイトで推奨のOSとファイルシステムみたいのは見たことあるが
Winでは運用やめとけみたいのはあるのか?
というか、そんなこと書いてていいのか?

66 :NAME IS NULL:2006/12/03(日) 11:19:37 ID:RsiFGmvQ
>>64
apacheはかなり強いよ。そこそこPVがあるサーバを何台か管理してるけど数年
続けて動く。1度も落ちない鯖も普通にある。
httpdっプロセスを定期的に起動しなおすので不具合を抱えこまない。
mysqlは多くて年に1度落程度落ちるかな。

67 :NAME IS NULL:2006/12/03(日) 15:01:14 ID:???
>>61
書き込み見てドキッとしたよ.
会社にそんなサーバー2台置いてるよ.

3年ほど動かしてるけど特にトラブルはなかったな.

68 :NAME IS NULL:2006/12/03(日) 15:49:25 ID:???
WInodwsならMSSQLつかっときゃいいじゃん

69 :NAME IS NULL:2006/12/03(日) 18:16:15 ID:???
windows運用の決めてはM$製みので固める事。
これでも不安定になるのに、MySQLなんて入れていたら、
月例アップデータで何をされるか、わかったものではありません。

70 :NAME IS NULL:2006/12/03(日) 19:08:42 ID:???
Win鯖使うなら素直にMSのSQLServer使うほうがいいと思うよ。
RDB製品としてはそんなに悪くないし、入門者向けの書籍や記事も多いし。

Unix系の技術者からするとMSのOSがあんまし信頼できないイメージが
出来てしまっているし、漏れもあんまいい印象がないしなー。

71 :NAME IS NULL:2006/12/03(日) 23:54:05 ID:???
そもそもオープンソースって、ねじ伏せる自信と実績が無いとまともに使えないだろ。
業務に使うのに、たまたま動いてますじゃ駄目だし。

MySQLに限った話ではない。

72 :NAME IS NULL:2006/12/04(月) 00:15:36 ID:???
オープンソースをねじ伏せる自身と実績があっても
会社組織の政治的なからみがあったりして採用されない事もあるし。

漏れの周りの例だと某地銀の元銀行員が系列ベンダー子会社に天下りして、
そのベンダー子会社がIBMの二次特約店だったりして、
腐った中国製IBMパソコン使わされたり、無意味にxServer(Win鯖)
売りつけられたり…。
でそのベンダー子会社は技術力ゼロだから、酷いシステムでマトモに
動いていなかったりするんだが、他に営業に行くときに
「○○銀行でシステム構築しました。任せてください!」と口だけ100人前で
実際は外注の派遣に尻拭いさせてたりする。

73 :NAME IS NULL:2006/12/05(火) 01:01:18 ID:???
49です。

MYSQLの公式ドキュメントでWindowsでの運用がどうこうという
のは見つけられませんでした。
どなたか御存知でしょうか?


運用を考えるとWindowsもUNIX系でも結局はインストールして
使うだけではだめってことですね。せっかく関わったので
学びます。

74 :NAME IS NULL:2006/12/05(火) 02:39:43 ID:???
>>73
http://bugs.mysql.com/bug.php?id=3139

75 :NAME IS NULL:2006/12/05(火) 22:59:38 ID:tsV4Skt/
MysqlAdministratorでテーブルの複製をするにはどうしたらよいのでしょうか?


76 :NAME IS NULL:2006/12/05(火) 23:02:47 ID:???
Winodwsなら、IISやMSSQLを使いましょう
WIndowsで何かをするということは、そういうこと
ApacheやMySQLは使わないほうがいい

77 :NAME IS NULL:2006/12/06(水) 16:54:22 ID:???
Windows にVMware入れて amp しる。

78 :NAME IS NULL:2006/12/06(水) 23:18:35 ID:u4BrqdS9
すいません、>>75ですがどなたかご存知ないでしょうか?
かねやんMysqlAdminにテーブルの複製及びその際のSQL表示の機能があり、
とても重宝していました。MysqlAdministratorにもあったら嬉しいのですが。

79 :NAME IS NULL:2006/12/07(木) 12:38:31 ID:???
Windows上でMySQL動かしてる人少ないだろうし、ましてやツールの話。
レスは期待できないと思うが。

80 :NAME IS NULL:2006/12/07(木) 16:39:33 ID:???
>>75
オレはコンソール派だが、SQLyog ってチェックした?
http://www.webyog.com/en/

81 :NAME IS NULL:2006/12/08(金) 01:29:41 ID:???
>>78
かねやんのは、推測だけど 複製は複数SQL発行で
擬似的にやってたんではない?

82 :NAME IS NULL:2006/12/08(金) 13:40:23 ID:???
>>79
別にlinuxのmysqlだって管理できる訳だが。

83 :NAME IS NULL:2006/12/08(金) 23:52:41 ID:???
MySQL5 で phpMyAdmin からデータベースを作成しようとしています。
照会順序の文字コードで utf8_unicode_ci と utf8_general_ci で何か差はありますか?
合計欄には utf8_general_ci が書かれています。
UTF-8 はどちらが一般的なのでしょうか?

84 :NAME IS NULL:2006/12/09(土) 01:27:32 ID:???
>>83
俺は総合職志向だからジェネラル

85 :NAME IS NULL:2006/12/09(土) 05:37:57 ID:???
すんません、いま5.0と5.1とではどっちの方が安定版なんですか?

86 :NAME IS NULL:2006/12/09(土) 08:31:29 ID:???
4のほうが安定。

87 :NAME IS NULL:2006/12/09(土) 11:22:31 ID:???
4.1で一行に8000byteまでしか入らないとかっていうのは修正されているの?

88 :NAME IS NULL:2006/12/09(土) 13:09:37 ID:???
>>84
職志向は不明だけど、generalの方が良いってことですかね。

89 :みるっひ:2006/12/09(土) 13:22:27 ID:28ExNdMW
navicast上でファイルをコピーしていたら、異常終了し、次に立ち上げたときは参照で開いていたファイルが消えていました。
どなたか、復旧する方法をご存知ないですか。

90 :NAME IS NULL:2006/12/09(土) 17:06:56 ID:Ktzg835s
WindowsXPのローカルで使っているMYSQL5が5GBを超えまして、
他のPCにバックアップしたと考えております。

mysqldumpコマンドを使ってSQL文をバックアップするのが、時間が掛かってしますので、
{$MySQL}\data以下のフォルダをバックアップして、
何かあったときに、dataフォルダを入れ換えたらちゃんと復元されますか?

バックアップの方法でmysqldump以外にはないのでしょうか?
# というのは、データの中に文字化けする文字列が含まれているものがあり、
# mysqldumpでSQL文を出力しても、SQL文が破損('が化け文字のせいで無くなってしまう)
# して完全に復元できないので困っています。

宜しくお願いします。

91 :NAME IS NULL:2006/12/09(土) 17:33:58 ID:???
他のPCにレプリケーション設定した方がよくね?

92 :NAME IS NULL:2006/12/09(土) 18:21:50 ID:???
my.iniで
default-character-set=sjis
これを
default-character-set=EUC-JP
に変更するとMySQL起動時にエラーが出るんですけど、
EUC-JPは対応されていないのでしょうか?

93 :NAME IS NULL:2006/12/09(土) 18:24:03 ID:???
URLを入れる項目があり、URLは空白でも構わないが、重複は不可
にしたいので、UNIQUEを付けました。
空白の2回目以降にもエラーが出てしまいます。
UNIQUEは、空白もだめなのでしょうか?

94 :NAME IS NULL:2006/12/09(土) 18:37:28 ID:???
>>93
UNIQUE = 唯一無二
という意味ですよ旦那

95 :NAME IS NULL:2006/12/09(土) 19:17:17 ID:???
>>92
euc-jpは使えるがEUC-JPじゃないだけ。
つかマニュアル読んだ?

96 :NAME IS NULL:2006/12/09(土) 22:11:49 ID:???
アフォが増えたな。
特集記事でも出たのか?

97 :NAME IS NULL:2006/12/09(土) 22:47:21 ID:???
専門学校や大学のプログラミングの授業でデータベースアクセスが登場する時期。

98 :NAME IS NULL:2006/12/10(日) 00:30:55 ID:???
>>90
MyISAMのデータベースならバイナリーバックアップで
何度かリストアもしてるが問題ない。
データだけじゃなくてMySQLサーバ関連もバックアップしてるけど
最低限設定ファイルがあれば大丈夫だと思うけどね。
あと権限データベース(mysql)はdumpしておくこと。
まあでも>>91が、設定は結構簡単でリストアも楽かね。

99 :NAME IS NULL:2006/12/10(日) 00:52:33 ID:???
>>93
空白ってのがどういう物なのか判らないが、Nullなら幾つでも持てるだろ。
ANSI/ISO SQL標準では、UNIQUEの対象にNullは含まない。
Oracle、PostgreSQLはそうなっているがMySQLは忘れた。
ここ見るとそうなっていそう。
http://dev.mysql.com/doc/refman/4.1/ja/create-table.html
> UNIQUE インデックスでは、インデックスのすべての値に
> 重複がない状態でなければならない。ただし、例外として、
> そのインデックスのカラムの 1 つで NULL 値が格納可能な場合、
> 複数の NULL 値を格納できる。


100 :NAME IS NULL:2006/12/10(日) 08:18:16 ID:???
2chのdatファイルをmysqlで管理したいんですけど、
perlでもなんでもいいんですけどdat->mysqlのスクリプトかなんかってありますか?

101 :NAME IS NULL:2006/12/10(日) 09:05:45 ID:RuiX/LUR
>>91
>>98
レスありがとうございます。
レプリーケションについて調べてみましたら、非同期でも出来るんですね。

ローカルonlyのMYSQLなので、常時2台も立ち上げるのは辛いと思っていたのですが、
これなら、いけそうです。ありがとうございました!

102 :NAME IS NULL:2006/12/10(日) 10:48:03 ID:???
そうか、冬休み前にデータベースの授業で、課題提出が冬休み明けってやつか。
宿題スレ無いけどガンガレ。

相性悪いと思った香具師は、就職後にデータベースの仕事はしないでくれ(w

103 :NAME IS NULL:2006/12/10(日) 20:30:33 ID:???
>>99
null入れたら、うまくいきました。
ありがとうございました。

104 :NAME IS NULL:2006/12/11(月) 19:28:01 ID:???
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)
(null)(null)(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:2006/12/11(月) 20:07:37 ID:???
printf("%s", 0);

106 :NAME IS NULL:2006/12/11(月) 20:46:32 ID:???
すみません。質問させてください。

VBA+ado(2.8)+MySQLODBCdriver3.51にてlocalhostの
mysql(version 5.0.27)のレコードを更新しようとして
いるのですが、うまくいきません。
下記の構文でうまくいかないのですが、レコードの追加(.AddNew)
を書き加えるとレコードの追加に関しては成功しますし、
更新も.Execute ("UPDATE〜の方を使えばうまくいきます。
(また下記の構文で.mdbファイルは更新できました。)

なにか思い当たる原因などありませんでしょうか。

つづく・・・

107 :106:2006/12/11(月) 20:48:08 ID:???

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:2006/12/11(月) 21:11:08 ID:zMnd3KGN
レベルの低い質問ですみません。
レンタルサーバ上のMySQLに、MyODBC経由で実験的にPOSレジソフトからアクセスしています。
今ひとつ接続が安定せず、1日で数回「MySQL server has gone away」エラーでアプリが強制終了します。
立ち上げなおすと普通に動きます。接続が切れるのは不定期です。
どんな原因が考えられるでしょうか。
(サーバーはLinux クライアントはwinXP CATVの常時接続です。)
(Mysqlは4.xx)


109 :NAME IS NULL:2006/12/11(月) 22:09:52 ID:???
>>108
質問のレベルはよしとして、まずはググッた?
まんま、"MySQL server has gone away" でググレば先頭にどんぴしゃな情報が出るが。
偉人が出るぞ。


110 :NAME IS NULL:2006/12/12(火) 01:29:52 ID:axPuhmGY
108です。
早速ありがとうございます。
ぐぐってみました。4.1のリファレンスが出てきました。

タイムアウトで生じるエラーのようですが、いまひとつわからないので教えてください。

デフォルトで8時間何も無いとタイムアウトですが、
当方のケースの場合、数十分程度でエラーが出ます。しかも間隔が一定ではないようです。
サーバー側の設定も調べてみましたが、とくにデフォルトの設定を変更してはいないようです。

データーも、商品の単価や個数といった小さなものです。

ちなみにソフトはこれです。 ttp://www.nyushukka.com/

lローカルでMDBベースで使っていたときは全く問題ありませんでした。
サーバーの他のデーターベースは普通に動いているので、たぶん問題ないと思います。
かねやんなどをつなぎっぱなしにしても大丈夫です。

ODBCの設定などでなんとかなるでしょうか? お聞かせください。

111 :NAME IS NULL:2006/12/12(火) 02:23:03 ID:???
>>110
ぐぐったら出てきたであろうページの下の方に、事例や調べ方が
出てるんだから、まずそこに書いてある事をやってみるべきでしょ。


112 :NAME IS NULL:2006/12/12(火) 02:34:59 ID:ypiJkJfO
そんなことよりこれやろうぜ
◇◆元祖MMORPGガディウスがなんと今だけ無料◆◇
(12月13日までだから急ごう!)
長い歴史を持つガディウスがなんと5周年記念につき2ヶ月間無料!
とてもおくが深い対人戦!ノーペナルティのPK!とても使いやすいチャット!
どこか懐かしい2Dなので古いパソコンでも動作!なんとメモリ64MでOK!

始めようと思った方は今すぐ公式からSTART!!!

wiki http://www6.atwiki.jp/godiuswiki/
↑始める前に見ておこう!公式もここからいけるよ!

初心者用スレ  http://game10.2ch.net/test/read.cgi/mmo/1165545550/
↑解らないことがあったらここで聞こう!お兄さんが優しく教えてくれるよ!


SS   http://pc.watch.impress.co.jp/docs/article/991224/ff8_1.jpg
     http://cyan.gazo-ch.net/bbs/17/img/200612/1122366.jpg
     http://cyan.gazo-ch.net/bbs/17/img/200612/1110982.jpg
     http://www6.atwiki.jp/godiuswiki/?cmd=upload&act=open&pageid=34&file=img03_big.jpg
↑なんと見た目は自由に変えられる!その組み合わせ数なんと10億通り以上
国家対戦 http://big.freett.com/save/050121war80over.wmv
↑なんと200対200の大規模な国家対戦が可能!白熱の対戦をごらんあれ!


113 :NAME IS NULL:2006/12/12(火) 16:24:15 ID:???
>>112
期末テストが終われば暇なだけの厨房乙w

114 :6:2006/12/12(火) 21:25:17 ID:???
>>12
EXPLAINだけど、もしかしてMySQLって、
1行もデータがないときは 調べれないの?

115 :12:2006/12/12(火) 21:31:20 ID:???
>>6
そう。
mysql的に1つも無いとわかりきっている where だと EXPLAIN で調べられない。

116 :NAME IS NULL:2006/12/12(火) 21:37:51 ID:???
はて、verちがいかな。エラーにはならないけど。

117 :NAME IS NULL:2006/12/12(火) 21:41:09 ID:???
ああ、出た出た。116は無視しておくれ、スマン

118 :NAME IS NULL:2006/12/12(火) 22:20:31 ID:???
CREATE TABLE s04e137book(id INT UNSIGNED PRIMARY KEY, title VARCHAR(100), price INT UNSIGNED);

これを数値型のフィールドを基準にデータを並び替える問題を作成する問題とSQL
そして識別番号が大きい順番から二つのレコードについて、値段を1000に変更するSGLを作成する方法

いまいちよくわからないので、ご指導願います

119 :NAME IS NULL:2006/12/12(火) 22:26:32 ID:???
>>118
ニホンゴワカリマスカ?

120 :NAME IS NULL:2006/12/12(火) 22:29:24 ID:???
>>119
自分の理解能力が恐らく不足しているのでしょうけど
それでもわからなかったので…


121 :NAME IS NULL:2006/12/12(火) 23:07:15 ID:???
すれ違いでした申し訳なく

122 :NAME IS NULL:2006/12/13(水) 12:27:54 ID:???
>>118
質問内容を良く読み直し正しい日本語で質問せよ。

123 :NAME IS NULL:2006/12/13(水) 16:56:41 ID:CIjp93Pg
OracleでいうとEMP表とかDEPT表でサラリーがどうたら、部署がどうたらできるような
Mysqlを勉強するのに手頃なサンプルDBってないかな?

124 :NAME IS NULL:2006/12/13(水) 19:44:50 ID:???
>>123
オラの『初めてのSQL』(定価2,520円)、そのサンプルDBが落とせる。
それで勉強したまえ。
http://www.oreilly.co.jp/books/4873112818/
http://examples.oreilly.com/learningsql/LearningSQLExample.sql

ちなみに例題として取り扱うのは銀行業務

125 :NAME IS NULL:2006/12/13(水) 19:54:24 ID:???
>>118
ここで質問をする前に日本語の勉強をしてこい

誘導先↓

■日本語が難しくて困ってます■
http://academy4.2ch.net/test/read.cgi/gengo/1088170225/


126 :123:2006/12/13(水) 22:34:17 ID:???
>>124
ありがとう、外の人。

127 :NAME IS NULL:2006/12/14(木) 00:22:28 ID:???
なんか一気に質問スレ化してるな。
おまいら課題ガンガレ。

不可者は仕事でDB使うなよ(w

128 :NAME IS NULL:2006/12/14(木) 11:24:42 ID: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:2006/12/14(木) 11:49:27 ID:???
CPAN

130 :NAME IS NULL:2006/12/14(木) 14:09:55 ID:???
重複した要素の場合、表示しないというふうにやりたいのですがどうすればいいでしょうか?
SELECT `name` FROM `dog_tbl` WHERE `birthday`< 2000-1-25 and `birthday`< 2006-12-14;
このように2000年の1月25日から今日までの誕生日で検索してどんな名前の犬がいるのかと、同じ名前の犬の数を表示したいのです。

131 :NAME IS NULL:2006/12/14(木) 15:27:59 ID:???
>>130
group by 犬の名前


132 :131:2006/12/14(木) 15:30:28 ID:???
>>130
具体的には↓
SELECT name,count(*) FROM dog_tbl WHERE birthday < '2000-1-25' and birthday < '2006-12-14' group by name;


133 :NAME IS NULL:2006/12/15(金) 02:23:33 ID:???
課題を書くと答えを教えてくれるのか
みんな優しいなぁ


134 :NAME IS NULL:2006/12/15(金) 03:15:56 ID:???
俺なんか課題出した後で2ch監視してても誰も来なくて
翌週提出日が来ても誰ひとりとしてやってこなくて泣きそうになった

135 :114:2006/12/15(金) 08:33:33 ID:???
>>115
ありがとう
実験用にダミーデータを入れてから検証することにしますよ

こういうのって本家のFAQかなんかに書いとけばいいのにな
メールしとくかな

136 :NAME IS NULL:2006/12/16(土) 09:27:17 ID: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:2006/12/16(土) 10:12:36 ID:???
MySQL 4.1.20
すいません、今度PCを買い換えようと思っています。作成しているデータベースについてはmysqldumpでバックアップを取ってるから
それをインポートすれば良いと思うのですが、それ以前のユーザーに関する設定などはどのようにバックアップするんでしょうか?

ついでにコンソールから
show databases; とうっても自分の作ったデータベースしか見えないんですけど、確かmysqlって名のデータベースありませんでしたっけ?
dataフォルダにはmysqlってフォルダはあるんですが。

138 :137:2006/12/16(土) 10:19:13 ID:???
>確かmysqlって名のデータベースありませんでしたっけ?

についてはrootで入ったら見れました。

139 :137:2006/12/16(土) 10:42:05 ID:???
このmysqlデータベースを通常通りバックアップ・インポートすればいいみたいですね。
お騒がせすいませんm(__)m

140 :NAME IS NULL:2006/12/16(土) 11:11:59 ID:???
MySQLをlinuxやらにインストールした場合の
/etc/my.cnf の文字コード設定の意味がよく分からないのですが、
あれは、「データの文字コードを勝手に○○○にしますよ」という
意味なのでしょうか?

例えば、ujis にした場合、
保存データを勝手にEUC-JPにしちゃいます、ということなのでしょうか?
色々なページを見ましたが、イマイチ理解できません。
ujis にした場合は、UTF-8で保存するのは不可能なんでしょうか?

141 :NAME IS NULL:2006/12/16(土) 11:28:33 ID:???
適当なテストデータベースでも作成して試してみればいいじゃん。
親切な人がいると思ったのか質問の嵐だな…。
質問答えた人は親切心からなんだろうけど、スレが質問ばっかになるのはげんなりだ。

142 :NAME IS NULL:2006/12/16(土) 11:33:34 ID:???
試してみればいいじゃん、と答える人がよくいますが
かなりのDQN発想ですよね

143 :NAME IS NULL:2006/12/16(土) 12:33:24 ID:???
試すのが一番理解が早いだろ
なんでもそうだけど
受験勉強でもそうだっただろw
千畝から、こういうときはこうするんですよって教えてもらっても
数日後にはさっぱり忘れちゃってる
先生に教えてもらったことを、実際に鉛筆もってやって
はじめて身につくもんだ
わかった?ぼくちゃん

身に着ける必要がないなら、誰かさんに金はらってやってもらいなさい

144 :NAME IS NULL:2006/12/16(土) 15:21:03 ID:???
爆発はしないからやってみろ

他人からの伝聞の時点で、伝言ゲーム同様に正確に伝わってなかったりするし。


テスト環境と運用環境の分離ができないならオープンソースは使ってられないと思うぞ。


145 :NAME IS NULL:2006/12/16(土) 19:46:02 ID:???
無料こそオープンソース採用の理由なのに、鯖にお金かける訳無いじゃん。
開発機がそのまま運用機になって、そのままだよ。テスト機なんて買うことは有りません。

リナクスでのインスコ話は、マイエスクーエルに関係無いから、リナ板で訊いた方が良いよ。

146 :NAME IS NULL:2006/12/16(土) 21:02:00 ID:???
なんか頭悪そうだなぁ…

147 :NAME IS NULL:2006/12/16(土) 21:13:00 ID:???
運用後に発覚したバグ修正や機能追加はどうするんだ…。
長期間業務止めて大丈夫、もしくはバグは絶対ない、機能も追加しないっていうならまぁありかもしれないけど。

148 :NAME IS NULL:2006/12/16(土) 21:32:09 ID:???
俺の会社の場合は、ハードを買えば仕事が進むと思っている馬鹿が多い。
予算枠の中で鯖と開発機と端末を確保するとS/Wはオープンソース採用になってしまう。

泣けるぜw



149 :NAME IS NULL:2006/12/16(土) 23:10:30 ID:???
別にサーバーサイドのソフトがオープンでも構わんけどな…。

ただ、開発端末PCが低スペック(メモリ256MBとか)でFefora5とかで開発汁とか
言われるとモニョるモノがある。

150 :NAME IS NULL:2006/12/17(日) 00:29:10 ID:???
オープン採用で日々のメンテのコストはサビ残で負担ですか。
もうアフォかと。

ちゃんと商用ソフト買って、年間サポート契約結べば何もしなくて良くなるのに。

151 :NAME IS NULL:2006/12/17(日) 02:26:31 ID:???
ちゃんと商用ソフト買って、年間サポート契約結ぶとこんな効果が:
・サポートの電話がつながらない
・サポートがこちらの言う事を理解しない
・二言目には「それはサポート外」ですと言う
・状況を尋ねるといつも「開発元に問い合わせ中です」
・結局電話で解決した事は一度もない
・なかなか来てくれない
・来てもトラブルが解決しない
・それどころか悪化させる
・そういえば先日サポートが来て何かいじってから調子が悪い
・サポート担当の顔を見るのも声を聞くのも嫌だから電話したくない
・最近胃が痛い

152 :NAME IS NULL:2006/12/17(日) 03:58:26 ID:???
オープンソースを採用するとこんな効果が:
サポート先がそもそも無い。
自分でなんとかするしかなくて、膨大な対応時間とサービス残業が発生。
開発者にメールしても、こちらの言う事を理解しない
開発者が二言目には「それは仕様です」と言う
開発者に状況を尋ねるといつも忙しいと言う。
結局、開発者にメールして解決した事は一度もない
開発者が出張サポートしてくれることはほぼ無い。
開発者にパッチを送っても採用せずにいつまでもトラブルが解決しない
それどころか、変な機能付けて余計にバグが増えてリリースされる。
開発者が無責任でソースコードのメンテナンスが行われない。
そういえば先日バージョンが上がってから調子が悪い。
もうオープンソースなんて絶対導入しないと心に決める。
最近胃が痛い。出社するのが嫌になる。

153 :NAME IS NULL:2006/12/17(日) 09:50:44 ID:???
サービス残業はオープンソースとはなんにも関係ない訳だし、
そんなDQNな開発者に開発依頼する方もDQNだな。

154 :NAME IS NULL:2006/12/17(日) 12:25:38 ID:???
つまりオープンソースを採用するのはDQNな開発者ってことだよ。
自分の対価と言うか飯の種が何なのかを考え直した方が良い。

一時間かけてソースを修正した対価は無料という対価で満足できるのか?
一日かけてソースを修正した対価は無料という対価で満足できるのか?
一週間かけてソースを修正した対価は無料という対価で満足できるのか?
一ヶ月かけてソースを修正した対価は無料という対価で満足できるのか?
一年かけてソースを修正した対価は無料という対価で満足できるのか?
10年かけてソースを修正した対価は無料という対価で満足できるのか?

155 :NAME IS NULL:2006/12/17(日) 12:30:30 ID:???
>>151
不覚にも笑ってしまった自分が悔しいw

156 :NAME IS NULL:2006/12/17(日) 12:30:59 ID:???
とりあえず、154がDQNだと言う事はよく解る。

157 :NAME IS NULL:2006/12/17(日) 12:34:31 ID:???
MySQLは商用サービスもやっているわけで、対価が無料とかホザいているアフォがいるな

158 :NAME IS NULL:2006/12/17(日) 12:42:36 ID:???
SQL文的には等価結合
(単純にテーブル1.フィールド=テーブル2.フィールドをWHERE句に追加)
が非常に使いやすいのですが、
一方が存在しない場合に結果に含まれないのは困ります。

一方で外部結合は、JOIN句を使う必要があり、
極力使いたくないです。

他に良い方法内でしょうか。

159 :NAME IS NULL:2006/12/17(日) 13:11:14 ID:6/NZmALt
飯は卵かけが好きです

160 :NAME IS NULL:2006/12/17(日) 13:29:11 ID:???
>>158

【帰ってきた】SQL質疑応答スレ 3問目
http://pc8.2ch.net/test/read.cgi/db/1160458216/


161 :NAME IS NULL:2006/12/17(日) 20:18:59 ID:???
MySQLの商用サービスって、不具合起きたときに駆けつけてくれるのか?
リナックスみたいにメールだけじゃないの?

162 :NAME IS NULL:2006/12/17(日) 21:34:46 ID:???
不具合が起きたときに自力で対処しない(できない)おまえは向いていないから辞めた方がいいよ。

163 :NAME IS NULL:2006/12/17(日) 21:37:25 ID:???
なんでOSサポートとサーバーソフトウェアとサポートを同列に考えるのか知らんが、
RHELは電話サポートもある。HPとRHELならトラブル起きたら駆けつけてくれる。
MySQLは知らんけどOracleは不具合があったら駆けつけてくれるのか?
テクニカルサポートは24Hやってるのは知ってるが駆けつけてくれた事はないんだが。

なんか業務をしたことないヤツに鈎って「サポートが」とかトンチキな事言ってるな。

164 :NAME IS NULL:2006/12/17(日) 21:42:05 ID:???
あ、ちなみに漏れの経験ではOracleの24Hサポートは
24時間「質問を受け付けてくれる」だけでソッコー解決するワケじゃないからな。

サポートに変な幻想持たない方がいいぞ。
現実はサポートに聞くよりもググる方が解決早いからな。(w

165 :NAME IS NULL:2006/12/17(日) 22:30:36 ID:???
つか、ソフトウェアの問題で駆けつけてもらって何か意味あんの?
端末丸ごと貸して、あとよろしく!とかそんなん考えてる?

166 :NAME IS NULL:2006/12/18(月) 00:13:44 ID:???
ぶっちゃけなー、例えばIBMとかの保守契約(ソフトのも)も入っていて、
不具合があってもすぐに解決は不可能なんだけどな。
まず、IBM側の不具合と証明するまでに凄く時間がかかる。と言うか
その不具合報告する技術者のレベルがIBMの技術担当と同じレベルの
会話が出来んと、問題の切り分けが出来んワケだから、>>161みたいな
レベルの技術者ではサポート契約結んでいても、無駄になる可能性と言うか
>>151みたいな状態になる事多いんだよ。

これでもIBMは対応してくれる方だと思うけど、これが他企業だとホントに酷い例があるからなー。

167 :NAME IS NULL:2006/12/18(月) 03:52:54 ID:???
トータスって
http://music6.2ch.net/test/read.cgi/techno/1095183475/



168 :NAME IS NULL:2006/12/19(火) 06:31:47 ID:???
オラクルの場合はベンダーがサポートしてくれるよ。
NECでも富士通でも電話すれば飛んでくるサービスが有る。

169 :NAME IS NULL:2006/12/19(火) 11:10:14 ID:???
でもある程度のトラブルなら自力で復旧できないとなぁ。

170 :NAME IS NULL:2006/12/19(火) 17:07:41 ID:???
>>168
結構な費用がかるんでしょうか?

171 :NAME IS NULL:2006/12/19(火) 21:40:23 ID:???
この場合のベンダーってNECはちょっと別にして富士通がくるの?
Oracleを売ったベンダー(w)がくるの?
それともOracleの正社員がくるの?

OracleがRHELをサポート開始したのは知ってるけど、駆けつけるまで
しなかったと思った。

172 :NAME IS NULL:2006/12/19(火) 22:07:49 ID:???
オラクルマスターと言えども、操作に長けているだけで、バグを熟知しているわけではないからな


173 :NAME IS NULL:2006/12/19(火) 23:28:00 ID:???
実際は単にオラクルマスターの資格をもったオラクルを納品した
下請けベンダーが駆けつけるだけ、って気がする。

で、バグはOracle本社に問い合わせるだけな気ガス

174 :NAME IS NULL:2006/12/20(水) 03:28:16 ID:NK+pn7NI
数日苦しんでた文字化けが解消した!
ここ(ttp://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_50)見て
DBに接続した直後に「SET NAMES utf8」を送ったら直ったんだけれど、
この一文が何をしているのか、ググっても分かりませんでした。
MySQLの何に対してutf8だゴルァー!!してるのでしょうかね?
#つーか、接続する度に書くのかこれ…??

>>149
モニョるって、響きがなんか(゚∀゚)イイ!!

175 :174:2006/12/20(水) 05:54:15 ID:???
調べがつきました。
検索キーワードを区切らな過ぎてたみたいです
本すれでお騒がせしてしまいすいませんでした。

176 :NAME IS NULL:2006/12/20(水) 10:39:54 ID:???
>>174
「SET NAMES utf8」ってサーバに接続す度に実行しないといけないんですか?

177 :NAME IS NULL:2006/12/20(水) 11:21:03 ID:???
>>176
まだ1度接続するだけのコードしか書いてないので自分自身は分かりません。
調べた中では、接続する度に〜的に書いてあったと思います。
ここ(ttp://dev.mysql.com/doc/refman/4.1/ja/charset-connection.html)の一番下を見ると
設定ファイルに書く事で毎回ソース内に記述しなくても良くなるらしいです。
ウチではうまく機能しませんでしたが試してみては?

178 :NAME IS NULL:2006/12/20(水) 13:40:26 ID:???
my.cnf で正しい default-character-set を設定し、クライアント側で正しい
文字コードでデータをセットし、クライアント側で正しい文字コードでデータ
を取り出せば文字化けすることはない。

179 :NAME IS NULL:2006/12/20(水) 17:09:25 ID:uZdRfTAd
mysql5について質問です。

datetime型のフィールドに対するインデックスでcolumn lengthを
指定できるようなので、hourまででgroup化させるために13を
設定値にしたのですが、explainで確認してみたところ思うような結果が出ず
悩んでおります。

わかる方がいらっしゃいましたらご教示ください。

180 :1:2006/12/20(水) 20:03:27 ID:???
>>174-177

>3の先の
「文字コードの自動変換機能による弊害(文字化け) 」嫁

181 :179:2006/12/20(水) 23:04:42 ID:uZdRfTAd
>>179です。
マニュアル探してるんですがdatetime型にインデックスの長さを設定できるという
記述が見つけられない・・・。でもMysql Administratorで確かに設定できるんですよ。

てか確認したいんですが、datetime型のフィールド(例えば 2006-12-20 20:00:00)に
lengthを13でインデックスつけたら"2006-12-20 20"←こんな感じで時間までのところで
インデックスを持ってくれると解釈してるんですけど、違うのでしょうか?

182 :NAME IS NULL:2006/12/20(水) 23:07:57 ID:???
だからさ、開発者でもないおまいらがどうやってMySQLのトラブルを自力で直せる訳?

全部utf8にしとけば、変換されることが無いから化けないってだけ。
正しい文字コードなんて無いし。日本語の正しい文字コードって何だよ(w JISでいいの?

183 :137:2006/12/20(水) 23:10:35 ID:???
頼むから文字化けの問題に関しては専門のスレを立てて、そっちでやってくれないかな

184 :NAME IS NULL:2006/12/20(水) 23:16:30 ID:???
文字も化けちまうこんな世の中じゃ

185 :NAME IS NULL:2006/12/21(木) 00:48:24 ID:???
>>182
コンテキスト理解しようぜ。

186 :NAME IS NULL:2006/12/21(木) 03:41:14 ID:???
>>182
漏れはソースレベルでいじることあるけど?

187 :NAME IS NULL:2006/12/21(木) 04:51:04 ID:???
データベースを他のPCで使いたいとき皆どうしてる?

188 :NAME IS NULL:2006/12/21(木) 09:20:53 ID:???
MySQLってソースあったっけか

189 :179:2006/12/21(木) 10:44:46 ID:JhSdq+iF
>>179>>181です。
レスがないということは皆さんあまりやらない手法なのですかね。

例えば年別・月別・日別・時間別の集計を前提としたアクセスログを作る際に皆さん
どうやっているのでしょうか?datetimeのフィールドとは別に
year,month,day,hourのフィールドを作ってインデックスをつけているのでしょうか。

190 :179:2006/12/21(木) 12:15:55 ID:???
自己レスです。やはりdatetimeのインデックスに長さ指定はできないようです。
お騒がせしました。

ということは>>189に書いた方法しかないのですかね?

191 :NAME IS NULL:2006/12/21(木) 13:10:39 ID:???
>>189
量がたいしたこと無ければ日付を編集してgroupby

192 :NAME IS NULL:2006/12/21(木) 14:38:35 ID:???
>>188
ttp://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.0/mysql-5.0.27.tar.gz

193 :179:2006/12/21(木) 15:42:33 ID:???
>>191
量がたいしたことあるんですよね。。試しにMIDや日付関数でやってみたら激重でした。
仕方ないのでdatetimeのフィールドとは別に"2006122014"みたいな文字列の
フィールドを別途作成し、それでINDEXしようと思います。

しかし他に方法は無いのかなあ?絶対ありそうなんですが。

194 :NAME IS NULL:2006/12/21(木) 17:24:48 ID:???
>>193
datetime と同じ内容の年月日時の4フィールドを
その為だけに追加。 あえて冗長にすれば?

195 :194:2006/12/21(木) 17:32:23 ID:???
それか datetimeだけなら

select DATE_FORMAT(datetimeeeee,'%Y/%m') as A , count(*)
from hoge
group by A

でindex効いた様な気がする。
(indexを効かした後にグループ化)

196 :超初心者:2006/12/21(木) 17:41:48 ID:???
http://dev.mysql.com/downloads/mysql/4.1.html

fedora coreにmysql4.1を
入れようかと思っているのですが、どれをインストールすればよいのでしょうか。
リンクがいっぱいあって何が何やらわからないです。orz
レベル低い質問で申し訳ないですが、ご教授おねがいいたします。


197 :NAME IS NULL:2006/12/21(木) 21:36:26 ID:???
自分の環境に合わせて必要な物インストールしろ。
そしてすみやかにここから去れ。
自分の環境すらも分からないなら単位と卒業はあきらめろ。
「fedora core」しか情報ないのに答えられるわけがない。

198 :NAME IS NULL:2006/12/21(木) 22:08:53 ID:???
フェどらってMySQLはいってなかったっけ?

199 :NAME IS NULL:2006/12/21(木) 22:33:57 ID:???
>>196
し・る・か

>>197
お前も去れaho

>>198
はいっとる。

200 :NAME IS NULL:2006/12/22(金) 00:02:04 ID:???
>>199
おーけー、任せろ、ahoな俺は全力撤退。
スマソ、FedoraならどのバージョンどのCPU向けの物でも必ずMySQL4.1系がはいってるとはしらなんだ。

201 :NAME IS NULL:2006/12/22(金) 00:05:00 ID:???
>>200
ジャマ

202 :NAME IS NULL:2006/12/22(金) 01:28:27 ID:???
>>200
Fedora5と6に入ってるのはMySQL5
# yum -y install mysql-server

203 :NAME IS NULL:2006/12/22(金) 17:49:17 ID:???
インサートすると同時に
そのインサートしたデータのauto_increment数字を確実にクエリとしてほしいのですがどのような方法があるでしょうか?
インサート後、すぐにセレクトする方法しか思いつきません。
ご教示お願いします

204 :NAME IS NULL:2006/12/22(金) 18:57:06 ID:???
>>203
マニュアル嫁

205 :NAME IS NULL:2006/12/22(金) 19:31:43 ID:???
>>204
ttp://dev.mysql.com/doc/refman/4.1/ja/insert-select.html
読みましたが、さっぱり要領を得ないので…
お願い致します

206 :NAME IS NULL:2006/12/22(金) 20:54:25 ID:???
PCにmysql入れて、20フィールド・10万レコードくらいのcsvファイルをインポートするのに、2時間かかります。SELECT文で1万レコードくらい抽出するクエリを発行すると、これまた1時間くらい時間がかかるんですが、処理時間はこんなものでしょうか?

PCのスペックは以下です
デスクトップタイプのノートパソコン
P4 3GHz HT対応
RAM 1GB
XP SP2
mysql5を使用中

ディスクアクセスの弱いノートパソコンで、mysqlを動かすにはインポートするデータのレコード数が多すぎるだけなのか、mysqlの設定次第で劇的にクエリに対するレスポンスが変わるものなのか図りかねています

ノートパソコンにmysql入れてテーブル設計するなら、事実上のレコード数上限値は○○くらい!というだいたいの相場感覚をおもちの方がおられるなら、どうかご教授下さい。

207 :NAME IS NULL:2006/12/22(金) 21:05:30 ID:???
>>206
1万レコード程度で1時間ってありえなす
いったいどんなデータだろ
インデクスとかちゃんとつけてる?

208 :NAME IS NULL:2006/12/22(金) 21:12:18 ID:???
PCにウイルスバスターとか入れて、ファイル更新される度にウイルス検査でもしてんじゃねーの?(w

MySQLでなくノートじゃないが、DB2で普通のPC(?)だとフィールドが150くらいで
20万件くらいのデータだと3分くらいでロードが終わって、SELECTは数秒だ。

209 :208:2006/12/22(金) 21:18:29 ID:???
漏れのPCのスペックは
Athlon64 3200+、メモリ2GB、Windows2000sp4
HDDは160GB,320GBとか適度にバラして使ってる。

206の速度は異常だと思うけどノートでRDB使うにしても簡単なブログとか
掲示板とかそういう用途で使う方がいいんじゃね?
ウン万レコードを読み書きってのはあんま向かん希ガス

210 :NAME IS NULL:2006/12/22(金) 21:21:58 ID:???
早速のお返事ありがとうございます。

>>207
あ〜。付けてないかも。
インデックスを付けることを意識していないので、ついてないと思います。
付けてから試してみます。

>>208
確かに会社支給のノートPCなんで、ノーd先生が入ってます。
リアルタイムスキャンはOFFってはいますが。。
まあ関係ないですよねw

さらに質問になりますが、
20フィールド&10万レコードくらいのデータをインポートした後、
1枚のテーブルのサイズが4.5Gbyteくらいになってます。
各フィールドはvarchar(40)×10+DOUBLE×10くらいのフィールド構成なのですが
このサイズは異常ではないでしょうか?

今はPerlでcsvファイルを解釈しながらmysqlにデータをインポートしていますが、
諸事情によりDBIが使えないので、ODBCでDBを制御していますが、
パフォーマンスはODBCよりDBIの方が良いんでしょうか?

211 :206+210:2006/12/22(金) 21:28:50 ID:???
補足です。

元のCSVファイルは、圧縮しない状態で300MBくらいなんですけど、
DBに入れると、膨れるもんでしょうか?

charの長さなどは、char(40)くらいです。

212 :NAME IS NULL:2006/12/22(金) 21:53:52 ID:???
まず、ノートを辞めて、安鯖買ってくる。
話はそれからだな。


213 :208:2006/12/22(金) 21:57:37 ID:???
あのさぁ、仕事の話なら素直にSIerに相談汁

ここは確かに無料相談所でもあるんだろうが、
悪いが藻前のレベルだとAccessでやりくりして
そしてSQL Serverって流れていった方がトータルで
安上がりだぞ。

214 :NAME IS NULL:2006/12/22(金) 22:56:43 ID:???
>>210
ODBCよりDBIのほうがよかった記憶があるけど、最近使ってないから正確なことは言えない。

サイズについては
http://dev.mysql.com/doc/refman/4.1/ja/storage-requirements.html
で計算しなされ。

インデックス張ってるならその分増えるし、データベースエンジンによっても変わる。
(InnoDBだと実際には使ってなくても最初に容量確保した記憶がある)


215 :Mysql Man:2006/12/22(金) 23:37:46 ID:Dt4HFFfL
mysqlの auto_increment で自動採番しているけど、PHPのスクリプトで
insert している時、たまに番号が極端に(たとえば1から1000まで来て、
1000000くらいに飛ぶときがある。

この時、データベースでは何が起きているのだろう?

216 :210:2006/12/23(土) 00:52:09 ID:???
>>213
確かにACCESSが安上がりですね。それはそう思います。
今まではACCESSでやっていたのです。
ただ、PerlやPHPと親和性が高いので、MySQLへのリプレースを考えました。
勉強したいという思いも強かったのも事実です。
アドバイスありがとうございました。

>>214
どう考えても4.5GBは大きすぎると確信しました。
次の対処を考えてみることにします。
アドバイスありがとうございました。

217 :NAME IS NULL:2006/12/23(土) 02:13:38 ID:???
ヒント:ODBC, MDB
アクセスと共通だから、引き継ぎやバックアップが便利。

218 :NAME IS NULL:2006/12/23(土) 07:25:51 ID:???
別にPHPやMySQLを否定する訳じゃないんだが、職場で
AccessとかExcelが普及している状況で、藻前個人の
考えで「Perl使いたいからMySQL」って選択はよーわからんぞ。

社内のイントラネットで悪い意味じゃなくて安鯖を立ち上げて
そこでLinux+Apache+MySQL+PHPって感じで使うならよくあるケースだけど、
今まで普通にAccess使っていたなら、フロントエンドツール(?)として
そのままAccess使え。

後はODBCのリンクテーブルとかパススルークエリ、
VBAでADO接続でデータのインポートとかする方が、社内の人にも解りやすいだろう。

ノートに入れて勉強は結構だか、「速度が出ない」はお門違い。

219 :NAME IS NULL:2006/12/23(土) 11:12:09 ID:???
アクセスからなら、SQL鯖に移って行くのが楽。

220 :NAME IS NULL:2006/12/23(土) 18:18:50 ID:???
つうかP4 3Gの1Gメモリのマシンで、20フィールド・10万レコードごときの
インポートで2時間て、逆にそれだけかかる方が難しいんじゃないか?
まず他のこと疑いなはれ。

そもそも挿入SQLを外した状態で何分かかるプログラムなんだ?
それともcsvをまんまMySQLにインポートさせてるのか?

221 :NAME IS NULL:2006/12/23(土) 20:12:49 ID:???
インサートすると同時に
そのインサートしたデータのauto_increment数字を確実にクエリとしてほしいのですがどのような方法があるでしょうか?
インサート後、すぐにセレクトする方法しか思いつきません。
ご教示お願いします

222 :NAME IS NULL:2006/12/23(土) 20:16:17 ID:???
auto_incrementせずに自前でセットすればセレクトする必要ないじゃん。

223 :NAME IS NULL:2006/12/23(土) 20:53:35 ID:???
hoge_data,hoge_count,hoge_answer,内のhoge_seqが1のデータをすべて消したいのですがどのようにやればいいでしょうか?
それぞれのテーブルにhoge_seq=1があるとは限りません。(数量は不定)
以下のようにやってみたのですが、削除してくれませんでした。。

DELETE `hoge_data`, `hoge_answer`, `hoge_count` FROM `hoge_data`, `hoge_answer`, `hoge_count` WHERE `hoge_data`.`hoge_seq`=".$qseq." and `hoge_data`.`hoge_seq` = `hoge_answer`.`hoge_seq` = `hoge_count`.`hoge_seq`


224 :NAME IS NULL:2006/12/23(土) 21:09:14 ID:???
>>221
マニュアル嫁

225 :NAME IS NULL:2006/12/23(土) 21:36:10 ID:???
>>224
教えるきないならここ、みるなよ
いちいちうざい

226 :NAME IS NULL:2006/12/23(土) 21:49:10 ID:???
>>225
で、マニュアルは読んだのか?

227 :NAME IS NULL:2006/12/23(土) 21:54:28 ID:???
>>221
ググレカス

228 :NAME IS NULL:2006/12/23(土) 22:09:31 ID:???
>>225
スレ毎に1回は出るだろ>auto_incrementの値を取得したい。
MySQL auto_increment でぐぐったら一番上に出た('A`)


229 :NAME IS NULL:2006/12/23(土) 22:31:09 ID:???
>>226
>>205

>>228さん
インサートすると同時に(インサートしたデータの)auto_incrementの値をえたいですよ
それで調べましたが出てきません。



230 :NAME IS NULL:2006/12/23(土) 22:34:57 ID:???
あーあーあーあーあーあー聞こえないーーーーーーー

231 :NAME IS NULL:2006/12/24(日) 03:54:06 ID:???
MySQLやってるやつって性格悪そうですね…

232 :NAME IS NULL:2006/12/24(日) 04:08:39 ID:???
馬鹿が多いなあ。
ちゃんと入ったかどうかセレクト汁!

233 :NAME IS NULL:2006/12/24(日) 07:12:42 ID:???
>>229
質問を深化させないと堂々回りだよ
ぐぐって新しくわかったことだけでも書くべきだね

答えは「同時にはできない」
インサートした直後に以下のSQLで問い合わせる

SELECT LAST_INSERT_ID();

「接続」単位で最後に挿入したIDが保持されているので
自分の接続が挿入したレコードのIDが返ることになっている
万が一タイムアウトなどで接続が切れたらこの値はとれない
とれないと困るならトランザクションかませた方が安全

これはFAQなんでテンプレートに入れてもいいんじゃないか

234 :NAME IS NULL:2006/12/24(日) 08:56:28 ID:???
冬房の季節か
こんな所で答え探さずに、課題出した相手から教えてもらえよ


235 :NAME IS NULL:2006/12/24(日) 09:34:17 ID:???
ああ冬休みの宿題なのか。
db板にも宿題スレが必要だな。

236 :NAME IS NULL:2006/12/24(日) 09:46:54 ID:???
こんなMySQLに依存した課題出すわけないし
単にMySQL初心者が悩んでたんだろうけどな

237 :NAME IS NULL:2006/12/24(日) 10:21:17 ID:???
ヒント:卒論

238 :NAME IS NULL:2006/12/24(日) 11:14:30 ID:???
ここってさ中身の無い偉そうな奴が常駐してるよな
そろそろ消えろよ

そう、お前の事

239 :NAME IS NULL:2006/12/24(日) 11:45:02 ID:E0ge9puy
>>223
削除の前に対象レコードがちゃんと出る クエリ(select)考える。
リレーション関係の説明が無いので不明だが、全て削除なら or じゃない?
あと、ms系の癖から来ているのかも知れないが、無駄にクォートをすると
見づらくないかい。


240 :NAME IS NULL:2006/12/24(日) 12:19:20 ID:???
>>223
つーかこんな=を連結する書き方できたんだっけ?

DELETE hoge_data, hoge_answer, hoge_count
FROM hoge_data, hoge_answer, hoge_count
WHERE hoge_data.hoge_seq = 1
AND hoge_data.hoge_seq = hoge_answer.hoge_seq
AND hoge_data.hoge_seq = hoge_count.hoge_seq;

241 :NAME IS NULL:2006/12/24(日) 16:44:44 ID:???
>>235に同意 こんなんでどうかな?

「データベースの宿題はここで聞け!!!」

テンプレはム板のC/C++から借用したので、ちょっと変かも

あなたが解けないデータベースの宿題を片付けもらうスレッドです。
気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細等のログを書きましょう。ログはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
 投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[1] 授業単元:
[2] 問題文:
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] バージョン: (1.0.1等 詳しく書く)
 [3.3] 接続言語: (使用していれば)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、特定のDBの指定はあるか等々)


242 :NAME IS NULL:2006/12/24(日) 16:48:51 ID:???
×任意の文字列
○推測の難しい秘密の文字列

243 :223:2006/12/25(月) 13:25:10 ID:???
>>240
いちおう、通ります。
ただ消したデータは0となってますので意図した動きはしてくれません。。
引き続きお願いいたしますm(_ _)m
ちなみに宿題とかではないです。。。

244 :NAME IS NULL:2006/12/25(月) 14:04:19 ID:???
>>243
たから、まず selectで一致するクエリを考えれば。

245 :NAME IS NULL:2006/12/25(月) 14:39:53 ID:???
もう相手すんなよ

246 :NAME IS NULL:2006/12/25(月) 16:21:11 ID:???
規約に追加しとけ

答える気ない人は見ない

247 :NAME IS NULL:2006/12/25(月) 17:18:04 ID:???
何でも答えればいいってもんじゃねぇよ。
ここは初心者質問スレでもMySQLのサポート窓口でも学校でもねぇんだ。

248 :NAME IS NULL:2006/12/25(月) 17:51:44 ID:???
>>246
規約ってなんだ?

249 :NAME IS NULL:2006/12/25(月) 18:27:41 ID:???
>>243
削除条件を簡潔に日本語で説明してみな

hoge_data.hoge_seqが1で、
かつ hoge_answer.hoge_seqが1で、
かつ hoge_count.hoge_seqが1のもの
を削除じゃなかったのか?

250 :NAME IS NULL:2006/12/25(月) 19:46:33 ID:???
>>243
多分、どれかのテーブルに hoge_seq が 1 のレコードがないので削除できない
のじゃないかい。素直に、テーブル分削除したら。

251 :NAME IS NULL:2006/12/26(火) 00:02:51 ID:???
>>246

そもそも2chはそれぞれの板の趣旨に沿って、
既にある程度は知識・経験を持っている者同士が話を
深めていくところなのであって、初心者の質問は板においてはオマケに過ぎない。
手間も費用もかけずにタダで知識をゲットしようなんて甘い、
初心者の質問は無視されても仕方が無い。それが2chの基本。

でも、 「2chの人達ならばこの問題を解決してくれるかもしれない」
と思って2chを訪れる善意の人たちのために、
多くの板ではあくまでも 《 厚意で 》 質問専用スレを用意している。
そして多くのスレではテンプレとして過去ログやFAQが>>1-10あたりに明記されている。
なのに、 くだらない質問をするヴァカが後を絶たない。

もし、くだらない質問にいちいち解答していたとしたら、
「自分で努力して調べるよりもここで聞いた方がすばやく解答をもらえるじゃないか」
と感じて人に頼るだけのヴァカとお人好しの回答者ばかりになってしまう。
そもそもこういう自己中なヴァカは過去ログやFAQ、同板内の関連スレなんか絶対チェックしない。
そのうちにスレ内はその手のくだらない質問で埋め尽くされてしまうだろう。

そうなればパート●●とか続いている名シリーズ・スレすらもくだらない質問の繰り返しで
埋め尽くされてしまうだろう。
と言う事ぐらい、5秒も考えれば分かりそうなもんだ。
以上のような思いを簡潔にまとめると【 >246は今すぐに首吊って氏ね 】ということになる。


252 :NAME IS NULL:2006/12/26(火) 00:09:28 ID:???
>>251
ドラゴンボールでフリーザの強さにはたまげた まで読んだ

253 :NAME IS NULL:2006/12/26(火) 00:17:28 ID:???
>>252
おまえもヴァカだな。ドラゴンボールで一番強いのは孫悟空だよ。


254 :NAME IS NULL:2006/12/26(火) 00:20:57 ID:???
ここに置いていきますね。

【帰ってきた】SQL質疑応答スレ 3問目
http://pc8.2ch.net/test/read.cgi/db/1160458216/


255 :NAME IS NULL:2006/12/26(火) 12:32:49 ID:???
>>251
自治厨は本当にうざいね。

256 :NAME IS NULL:2006/12/26(火) 15:33:38 ID:???
auto_incrementの数値が1,2,3...50とあった時、
例えば23,24,25を削除(DELETE)すると23,24,25の番号があきますよね?
その時、番号を詰めたいのですが可能でしょうか?
分かりやすくするとこんな感じです。
1,2,3,...22,26,27,...50

1,2,3...22,23,24,25...47
としたいのです。
可能でしたらヒントか回答お願い致します。
>>253
ブロリーに1票(^∀^)

257 :256:2006/12/26(火) 15:35:30 ID:NBqYscux
ID出し忘れましたスミマセン。。
それと追加でお願いします。
auto_incrementに限らず数値を詰める方法もしくは代替案で再度お願いしますm(_ _)m

258 :NAME IS NULL:2006/12/26(火) 17:37:07 ID:???
>>257
innodb,MyISAM にもよる。"uto_increment 初期化" ググレカス。

259 :256:2006/12/26(火) 17:56:24 ID:NBqYscux
>>258
質問の回答になってないんですが…

260 :256:2006/12/26(火) 18:37:39 ID:NBqYscux
>>258
削除毎に初期化してたらすごいトラフィックになりそうですね。。。
また、>>257でも書いたとおり、auto_increment以外では出来ないので…

その要素で並び順を決めているのですが間の要素を消した場合、順序変更が難しくなるんです。
例えば
123..の並び順
2が消された時134...
ってなりますが
1と3の並びを替えたい時むずっくって
ググって見てもさっぱりです…何か他の方法しかないのかなぁ〜

261 :NAME IS NULL:2006/12/26(火) 18:40:15 ID:???
いいかげん、auto_increment厨がウザいんだが。

こういうアフォが設計したテーブルなんかは、
他の人がみたらさぞかし笑いのネタになるんだろうなぁ。

262 :NAME IS NULL:2006/12/26(火) 18:43:09 ID:???
>>260
つうか欠番は欠番であって、詰めるべきではないです。
欠番も情報記録の1つ。 何の処理をしたいのですか?

おそらく、「番号を詰める」という処理の方法自体が
間違っているのではないかと思いますが。

263 :256:2006/12/26(火) 19:11:23 ID:NBqYscux
>>261,262さん
何度か書いてますが、auto_incrementは一例であってさして関係ないです…
auto_incrementの質問が多いように見受けられたので絡めただけです。

例えば1ユーザ、ブログを最大10個作れるとして、
そのユーザが3番目のブログを消した場合3番が空きますよね?
これだと消した後、ブログの表示順序を替えるとき弊害があるので(このブログの並び順を「上へ、下へ」形式の並び替えなので)
これを詰めたらいいのではないかと考えたのです。

264 :NAME IS NULL:2006/12/26(火) 19:16:49 ID:???
>これだと消した後、ブログの表示順序を替えるとき弊害

ハァ?

265 :NAME IS NULL:2006/12/26(火) 19:18:11 ID:???
たしかにソレで弊害がでるような設計はアフォの極みだな。(w

266 :256:2006/12/26(火) 19:50:04 ID:NBqYscux
>>265さん
アフォなのは自覚しております…(;ω;)

普通に
「並び替えもとの番号」と「上の項目の番号」
「並び替えもとの番号」と「下の項目の番号」
を入れ替えれば問題ないのですが消したり追加したりしているユーザの場合、
数値が10以上になってしまうのがなんかいやで…

スクール通いたい(;ω;)

267 :NAME IS NULL:2006/12/26(火) 19:55:17 ID:???
表示順フィールドでもつくれやw

268 :NAME IS NULL:2006/12/26(火) 20:26:27 ID:???
っていうか、表示順用の「テーブル」だね

269 :NAME IS NULL:2006/12/26(火) 20:53:49 ID:???
256がナニをしたいのかよー解らんが、
ブログがどーこーなら、そのブログのソース嫁。

>>262も指摘しているが方法論からしてRDBの使い方を
間違えている。

270 :262:2006/12/26(火) 21:50:49 ID:???
>>266
結局 管理番号云々の話しですよね。

>>263の例からしても、そういうのは別途 管理・発行関数を持つべき。
(10個の数字を空き番として持ち、常に持ってる一番小さい番号を
 発行すればいいだけですよね)

auto_incrementは何の関係も無い話で、
やはり当初の処理・設計が間違ってるということ。

「(auto_increment)のdelete欠番を埋めたい」は、よく初心者が
思いつく事の1つで、しかもそれはまず間違いなく誤った発想です。
(知る限りそんな処理が必要なケースはないし、するべきでない)

271 :256:2006/12/26(火) 22:15:35 ID:???
皆さん、ありがとうございます。
自分の中でMySQLをなめてかかってたかもしれません。
DBの参考書を買いあさりたいと思います。
本当にありがとう(;ω;)

272 :NAME IS NULL:2006/12/27(水) 02:34:31 ID:???
まあ不可だな。諦めて来年ガンガレ。

273 :NAME IS NULL:2006/12/27(水) 02:46:57 ID:???
そもそも、発想がexcelではないかと。

274 :NAME IS NULL:2006/12/27(水) 03:15:57 ID:???
lengthの値がおかしいとか気にしなければ、サーバ、クライアント両方latin1
でOKですか?

275 :NAME IS NULL:2006/12/27(水) 04:55:15 ID:???
素人にはデータベースの概念は難しいからねえ。
順序は関係無いけど、並び替えが出来るって概念を理解しないと。

276 :NAME IS NULL:2006/12/27(水) 10:38:07 ID:???
アマゾンと似たようなもんだな

あそこ、入荷した製品は、ABC順でもアイウエオ順でもなく空いてる棚に片っ端から入れていって、
場所を記録・検索することで作業効率を向上させてるんだよな

しかも、複数の商品を検索すると、一筆書きのように最適化された順番を指示してくれるという・・・・


277 :NAME IS NULL:2006/12/27(水) 11:35:18 ID:???
>>274
文字コードによっては、like, substring とか文字操作系で色々おかしくなる
けどそれでもいいならいいんじゃないの。

278 :NAME IS NULL:2006/12/27(水) 12:59:06 ID:???
確かに詰める必要性が理解できんよ
そのテーブルは綺麗に見えるかもしれんが
他のテーブルとの絡みが完全崩壊するんじゃ?

ユーザ情報
---------
id | name
---------
1 | abc
2 | dfg
3 | hij

コメント
-----------------
id | writer | comment
-----------------
1 |  1  |  foo
2 |  2  |  bar

コメント.writerはユーザ情報.idを参照してしている状態で
ユーザ.id = 1が削除された場合に詰めてると
abcが書き込んだはずのfooがdfgが書き込んだことになってしまうよ

-----------------
id | writer | comment
-----------------
1 | dfg  |  foo
2 | hij   |  bar

レコードを削除じゃなくて有効・無効のフィールドを追加して対応するとか
削除しても詰めなければ結合した際にwriterはNULLにできるので
NULLのwriterはアノニに置き換えるとか色々できるんじゃね

279 :NAME IS NULL:2006/12/27(水) 14:08:40 ID:bfFVcbBQ
MySQLとかのDBってどれくらいのレコード数に耐えれるのかな?

280 :NAME IS NULL:2006/12/28(木) 10:34:34 ID:LFFepbWL
SQL92とかSQL99の仕様書ってどこで見れるの?

281 :NAME IS NULL:2006/12/29(金) 01:57:00 ID:???
100万レコードぐらいは余裕だよね?



82 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)