MySQL総合

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
公式サイト(英語)
http://www.mysql.com
日本MySQLユーザ会
http://www.mysql.gr.jp/
2名無しさん@お腹いっぱい。:03/06/30 12:41 ID:mksmM8x+
このままの勢いだとドラゴンボール板になっちゃうよ〜〜
3名無しさん@お腹いっぱい。:03/06/30 13:22 ID:???
>>1
板違いです
4名無しさん@お腹いっぱい。:03/06/30 17:26 ID:???
   
5名無しさん@お腹いっぱい。:03/07/01 02:09 ID:xBsRCkAi
6名無しさん@お腹いっぱい。:03/07/01 02:17 ID:???
糞スレたてんなヴォケ
7名無しさん@お腹いっぱい。:03/07/01 17:09 ID:???
本スレ上げ
8名無しさん@お腹いっぱい。:03/07/01 17:10 ID:???
        /´:::::::::::::::::::::::::::::::::::::::::::`ヽ
       /::::::::::::::::::::::::::::::::::::::::::::::::::::::::\
       (:::::::::::人ノヽノヽノヽノヽ人::::::::::::::::)
      (:::::::::::/           \:::::::::::::)
      (::::::::::/             \:::::::::::)
     (::::::::::/   アニヲタちゃん     ヽ::::::::)
     |:::::::/ ,,;;;;;;;;;;;;;;,     ,,;;;;;;;;;;;;;;,  |:::::::::|
     |:::::┏━━━━┓  ┏━━━━┓:::::|
     |::=ロ   -=・=- ┣━┫ -=・=-   ロ=::|
     /|:::/ヽ      /ノ  ヽ      / ヽ|ヽ
    .| |/  ` ̄ ̄ ̄´/    ` ̄ ̄ ̄´   | |
    ヽ|         (. o⌒o .)        .|ノ
      \       :::::::::::::U::::::::::::::     /
       |\    ::::--┬┬┬--::::   /|  わたすを呼んだ?
       |. \.     └┴┘    ./ .|
       \                 /
        \     ´ ̄ ̄ ̄`    ./
          \           /
     ___/|.\______/|\___
   /;;;;;;;;;;;;;;; \\         //;;;;;;;;;;;;;;;;;\
  /;;;;;;;;;;;;;;;;;;;;;;;;;;;\\       //;;;;;;;;;;;;;;;;;;;;;;;;;;;

39歳処女プログラマーアニヲタヒッキー(143センチ・58キロ)がこのスレに興味を持っちゃったようです
9名無しさん@お腹いっぱい。:03/07/02 22:29 ID:jZx/pVIu
10名無しさん@お腹いっぱい。:03/07/02 22:33 ID:???
糞スレ大好きデベタ厨
11名無しさん@お腹いっぱい。:03/07/13 14:19 ID:v5oe19/L
MySQLをLAN内で共有する方法が分からない。
クライアントにAccess2002を使い、MyODBCで繋ぐが、Localマシンのみしか
テーブルリンクが出来ない。ほかのマシンではlocalhost の部分を
192.168.1.12のIPにしたがだめ。
どこをチェックすれば良いの?
12名無しさん@お腹いっぱい。:03/07/14 10:53 ID:???
>>11
ユーザーの方で追加した?
13名無しさん@お腹いっぱい。:03/07/14 20:09 ID:Av+cbe2Q
副問合せできるようになった?
14名無しさん@お腹いっぱい。:03/07/19 13:45 ID:xKnlGcjg
>>11
かねやん MYSQL
で検索して、GUIのツール使え。
ついでにそのツールのサイトでいろいろ説明まである。
15名無しさん@お腹いっぱい。:03/07/23 22:00 ID:cA5GugKq
Linuxで データベースファイルの場所を変更するには
どうしたらいいのですか?バージョンは4.0.13何ですけど。
RedHat8にrpmでインストールしたけど、HDDの都合でデフォルトの
/var/lib/mysqlじゃないところに移したいんだけど。
16あぼーん:あぼーん
あぼーん
17あぼーん:あぼーん
あぼーん
18あぼーん:あぼーん
あぼーん
19名無しさん@お腹いっぱい。:03/07/28 21:42 ID:VlA252nr
MySQLを使っているんですがたまに追加したデータが
既存のレコードより上になってしまうんですが
どうしてなんでしょうか?
また直す方法はあるんでしょうか?
バージョンは3.23.56です。
20あぼーん:あぼーん
あぼーん
21名無しさん@お腹いっぱい。:03/07/31 22:51 ID:9I9GdYG9
YahooやGoogleみたいに、10件ずつ表示するってやりたいときに、
どういうSQL文を書けばよいのでしょうか?
22名無しさん@お腹いっぱい。:03/08/01 10:44 ID:JGL8wvkD
>>15
シンボリックリンクをはりましょう。

>>19
順序を決定するためのフィールドを作りましょう。

>>21
SELECT * FROM table ORDER BY field LIMIT 開始レコード, 10
23名無しさん@お腹いっぱい。:03/08/01 11:27 ID:2eMei+Ic
MySQLを起動するには、
mysqld.exeでサーバーを起動して
クライアントを起動するという順序でよろしいですか?
24名無しさん@お腹いっぱい。:03/08/01 11:43 ID:???
>>23
それでよろしいです。
常用するなら、サービスとして起動すると便利でしょう。
25ぼるじょあ ◆ySd1dMH5Gk :03/08/02 04:54 ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
26名無しさん@お腹いっぱい。:03/08/02 19:03 ID:???
mysql のバージョン変えたりごちょごちょやってたら
ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)
がでてうごかんくなったす・゚・(ノД`)・゚・
どうすりゃええの?
27名無しさん@お腹いっぱい。:03/08/04 01:50 ID:???
質問するときは最低限プラットフォームと
MySQLのバージョンぐらい書くべし

ちなみにうちのNT+3.25だと
サービス動いてないときにそのメッセージが表示される
2827:03/08/04 01:53 ID:???
↑は>26へのレス
29名無しさん@お腹いっぱい。:03/08/04 11:12 ID:c6FNqGgu
インストール直後はちゃんと起動するのに、
いったんxpをシャットダウンしたあとで起動すると、
青信号にならない。
ウーン。
30し〜くる ◆w2DKZo1IAU :03/08/05 12:57 ID:???
>29
XPは触ったことがないから詳細はわからん
青信号にならないってのは、起動しないってことか???
XPにサービスの概念があるならサービスとしてインストールすべし

まあ、このあたり見てみたら?
ttp://allabout.co.jp/career/database/closeup/CU20030430/
ttp://www.rfs.co.jp/sitebuilder/sql/01/04.html

あと
MyNAのMLのログでXPキーワードに検索してみたら
300件ぐらいヒットしたから、その中にあるかもね
ttp://www.mysql.gr.jp/
→ML Log
31名無しさん@お腹いっぱい。:03/08/05 14:24 ID:???
そりゃ自動起動にしてないだけでは?
マイコンピュータの管理からサービスに行ってみれ
32し〜くる  ◆w2DKZo1IAU :03/08/05 15:10 ID:???
最近MySQLでもInnoDB?を使うとトランザクション処理
ができるらしいという話をきいたんだけど
ALTER TABLEとかで既存のテーブルに対し変更をかけることって出来る?
それともテーブル再定義してINSERT〜AS SELECT * FROM
でデータ移行したほうがいいの?

環境WinNT4.0(SP6a)+3.23.53

33名無しさん@お腹いっぱい。:03/08/06 17:24 ID:Ft9W4vTV
正直MySQLが副問い合わせ対応になるのをのを待ち続けています。
34し〜くる ◆w2DKZo1IAU :03/08/06 20:50 ID:???
保守あげ

InnoDBへの移行作業が終了いたしました。
移行するためのAlterTableの書式が解らなかったため
新規にInnoDBでテーブルを定義して旧テーブルから
Insertでの移行作業になりました。
しかし400レコードごときのテーブルの移行に1秒もかかるとは・・・・

それはさておきトランザクションモードを有効にするのに
いちいち起動後に" set autocommit=0;"って入力するのは
メンドクサイんだけど自動的に認識させるよい方法はないんだろうか?
35名無しさん@お腹いっぱい。:03/08/06 21:06 ID:???
>>33
MyNAにある4.0のドキュメント読んでみたら
SubSelectは開発中の4.1に実装されるとかされないとか
ttp://www.mysql.gr.jp/jpdoc/4.0/manual.ja_Introduction.html#ANSI_diff_Sub-selects



その他の機能の予定
ストアドプロシージャ:5.0実装予定
トリガ:その内やんなきゃね
だってさ
ttp://www.mysql.gr.jp/jpdoc/4.0/manual.ja_Introduction.html#TODO


つぎからスレでのテンプレに追加してほしいもの
○一般
SoftAgency(MySQL日本代理店)
ttp://www.softagency.co.jp/

○質問する前にこれを嫁ってかんじのもの
MyNAのMySQLドキュメント日本語訳
ttp://www.mysql.gr.jp/jpdoc/
MyNAのMLのLog
ttp://www.mysql.gr.jp/mysqlml/
SQLPowerPage(SQL構文一般)
ttp://www.sqlpowerpage.co.jp/
36し〜くる ◆w2DKZo1IAU :03/08/06 21:11 ID:???
35にコテハンいれわすれた
・・・ショボンヌ
37し〜くる ◆w2DKZo1IAU :03/08/06 21:31 ID:???
連カキ(暇人)

DBMSのいろんなとこでの評価をみると
Oracle、SQLServer、PostgreSQL、MySQLの評価は
こんなかんじ(DB2とかはよくわからん)

==============================================
☆機能の充実
Oracle > SQLServer > PostgreSQL> MySQL

☆堅牢性
Oracle > MySQL > PostgreSQL > SQLServer

☆とっつきやすさ
SQLServer > Oracle > MySQL > PostgreSQL

☆軽い・早い
Oracle = MySQL > PostgreSQL > SQLServer

☆世界的に使われている
Oracle > MySQL = PostgreSQL > SQLServer

☆日本での評価
Oracle > SQLServer = PostgreSQL> MySQL

☆他国での評価
Oracle > MySQL> SQLServer = PostgreSQL
==============================================

資料はOracle8iがでた頃のだからもう違うのかもしれないけど
まぁ指標ぐらいにはなるかも??
反論などあったらドウゾ
38名無しさん@お腹いっぱい。:03/08/06 23:12 ID:???
>>35
テンプレに追加してほしいものに追加
○質問する前にこれを嫁ってかんじのもの
公式サイトミラーリングMySQLドキュメント exicte翻訳
http://www.excite.co.jp/world/url/body?wb_url=http://www.softagency.co.jp/MySQL/doc/en&wb_lp=ENJA&wb_dis=2


MySQLユーザ会ドキュメントに対する利点:
ドキュメントのバージョンが新しい。(現在、4.1対応)
すべて日本語に訳され、英文のまま放置されている部分がない。

MySQLユーザ会ドキュメントに対する欠点:
機械翻訳のため品質が低い。
39あぼーん:あぼーん
あぼーん
40名無しさん@お腹いっぱい。:03/08/07 12:12 ID:???
値段
MySQL = PostgreSQL > SQLServer > Oracle

いやまあ自分1人でなんでもやる環境だと初期費用が気になるもんで・・
41名無しさん@お腹いっぱい。:03/08/07 23:39 ID:ZyaAjwu5
これコマーシャルライセンスってのがよくわかんねーんだけど
自社で勝手に作って勝手に使う分には金払わなくていいってこと?
42名無しさん@お腹いっぱい。:03/08/08 06:59 ID:SBxDZUbO
>>41
そのケースだとGPLでいいんじゃない。

GPLに汚染されたくない人(極端に平たく言えば、ユーザーにソース渡したくない人)
とサポートがほしい人はコマーシャルライセンスを買えば?
GPLおっけーな人は買う必要ないし...って感じ。
43あぼーん:あぼーん
あぼーん
44名無しさん@お腹いっぱい。:03/08/08 16:19 ID:plx0eYzp
MySQLで、テーブルの多重結合で一度にデータを取り出すのと、
SELECT文を必要に応じて呼び出すのでは、どの辺からどのように
差が出てきますか?

現在多重結合でやっているのですが、カラムがひとつ違うだけで
新しい行となったりするなら、SELECT文発行の方がいいかなと
思いまして。それともこういうSELECT結果は単純に行ではなく、
キャッシュから組み上げているのですか?それならまた
通信量などは変わってきますけど。
45名無しさん@お腹いっぱい。:03/08/08 20:35 ID:WHqUCIYy
mysqldumpでblobを出すとき、
通常では 'abc' と出るのを 0x616263 と出るように改造してみた。
ソースコードありがたみをしみじみと感じた。

Cをあまり使わないので、書き加えたソースコードはウソコ並なわけだが。
46あぼーん:あぼーん
あぼーん
47し〜くる ◆w2DKZo1IAU :03/08/09 01:39 ID:???
>>41
42氏がすでに回答済みだけどいちおう
コマーシャルライセンスについてはMyNAのMLLogにて既出
ttp://www.mysql.gr.jp/mysqlml/msg.cgi?ml=mysql&id=6523
GPLって?
ttp://e-words.jp/?w=GPL


>>44
>どの辺からどのように差が出てきますか?

具体的な数値をだせといわれれば俺には無理です
EXPLAINつかって解析してください

>現在多重結合でやっているのですが
結合ってLEFT JOINとかですか?ソースきぼん


>SELECT結果は単純に行ではなく、
>キャッシュから組み上げているのですか?それならまた
>通信量などは変わってきますけど。
同一のSQLを発行すればキャッシュからロードされるはず
ただサーバ自身での処理はこうそくになるが
クライアント側にキャッシュされるわけではないので
通信量はかわらんのでは?


俺も最近OraからMyに移ってきたばかりで勉強中の身なので
なんかまちがってたらゴメソ
4844:03/08/09 22:14 ID:???
>47
そうです、LEFT JOINを複数組み合わせています。
とはいっても個人使用なのでせいぜい一桁ですが、
始めにすべての条件のSELECTを作るのと、Whileやforeachで何度も呼ぶのでは
どう違うのかなと思いまして。

>キャッシュはサーバー側
そうですが。ありがとうございました。
4944:03/08/10 23:21 ID:???
今更ですけども、
○そうですか。
×そうです"が"。
50名無しさん@お腹いっぱい。:03/08/12 01:28 ID:???
日本でMySQLが一般的にならないのは日本MySQLユーザー会がタコなだけだろ
あそこで出した本買ったけど最悪だった。
こいつunix知らねーなって感じだった。

ノリがqmailの日本で総締めやってる某サイトみたいな感じで凄い閉鎖的で
盲目的な信者って雰囲気で正直キモイ
51名無しさん@お腹いっぱい。:03/08/13 15:07 ID:A5V6E9Pb
>>50
そうかなあ。MySQLユーザー会は盲目的な信者の集まりってより、
むしろ、なんにもやってないって感じ。(いやマニュアル翻訳とかやってんだけどさ)
Postgresユーザー会みたいな活発な活動をしてればもっと普及してるんだろうなあ。
# つーか、普通オライリーじゃないの?MySQL本って。今となっては、もう古すぎだけど...。
52 :03/08/13 18:25 ID:???
「一週間でマスターする」シリーズのSQLでMySQLを使って勉強したんだけど、初心者用の
本って何かないでしょうかねぇ。勉強したいのはSQLなんで、別にMySQL専用でなくても良
いんですが。


53名無しさん@お腹いっぱい。:03/08/13 21:59 ID:???
リファレンス本買って実際コーディングしてみればいいんじゃね?
SQLに限ってみればぜんぜん難しくないし。
54し〜くる ◆w2DKZo1IAU :03/08/14 00:28 ID:???
>>52
私がはじめた頃によく立ち読みしてたor買った本
ttp://www.gihyo.co.jp/books/syoseki.php/4-7741-1611-4
ttp://www.gihyo.co.jp/books/syoseki.php/4-7741-1755-2
ttp://www.seshop.com/detail.asp?pid=3018

私がOracleの仕事してた頃によく見ていたサイト
ttp://www.sqlpowerpage.co.jp/
5552:03/08/14 09:36 ID:???
>>53 >>54
thx

特に>>54の上のほうのやつ、よさげなんでちょいそれで勉強してみます。

56名無しさん@お腹いっぱい。:03/08/14 16:59 ID:+efqF0PF
SELECT * FROM ○○
のときに、他のは '○○' としなくて○○だけで選択できたのに、
Commentというテーブルだけ 'Comment'と括らなくてはエラーが出ます。
これは仕様なんですか?
phpmyadminでのことなんですけど。
57あぼーん:あぼーん
あぼーん
58名無しさん@お腹いっぱい。:03/08/14 17:13 ID:???
COMMENTはSQL予約語なんでそのせいじゃない?
59名無しさん@お腹いっぱい。:03/08/14 20:52 ID:???
>58
http://www.rfs.jp/sitebuilder/sql/02/01.html
を読むと、MySQLでは違うはずですが、隠れ予約語なのかもしれませんね。
ありがとう。
60名無しさん@お腹いっぱい。:03/08/15 02:51 ID:O7WK1OLz
>>59
マニュアルには予約語としてのってます。
http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_Reference.html#Reserved_words
61山崎 渉:03/08/15 21:57 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
62山崎 渉:03/08/15 22:51 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
63名無しさん@お腹いっぱい。:03/08/18 22:56 ID:WgO1ItwF
MySQL4.0.14b入れてみたんだけどタスクトレイに信号みたいなアイコンとかGUIなやつ出てこないんだけど
仕様ですか?
64 :03/08/19 20:06 ID:???
>>63
OSは?
65名無しさん@お腹いっぱい。:03/08/19 22:09 ID:???
>>64
すんません解決しました。
本見てやってたんですが微妙にexeファイルが違ってただけでした。
66名無しさん@お腹いっぱい。:03/08/19 23:41 ID:???
UNIXにしか入れたことないから青信号なんか見たことないな。
67MySQL:03/08/31 17:19 ID:E/K1Y1rr
Turbolinux 8 WorkstationにOracle9iをインストールできた人っているのかな?

あと、Turbolinux 8 WorkstationにMySQLをインストールできた人もいるのかな?
68名無しさん@お腹いっぱい。:03/08/31 21:49 ID:cZjo6PpZ
>>67
TLS 8WSは、CD収録パッケージにすらMySQLがはいってますよ。
http://www.turbolinux.co.jp/products/workstation/tl8w/list.html
69MySQL:03/08/31 22:19 ID:+ARAwEwu
>>68
ほんとだ!ありがとうです^^

70Mysql:03/09/01 10:01 ID:tlxrTNN3
Mysql3.23.57をダウンロードしたけど解凍できない。
どーすりゃいいんだよー! 
なにぶん初心者なもので基本的な間違いと思います。
71MySQL:03/09/01 16:13 ID:2LCK3oNp
>>70
mkdirで作ったディレクトリにダウンロードしてコンパイルして、インストールするなら
簡単にできると思う。

問題はインストール後の設定がうまく行かないから困っている。
72MySQL:03/09/01 16:15 ID:2LCK3oNp
> root# su - mysql
> users$ /usr/local/mysql/bin/mysql -u root
> コマンドを実行してみましたが、下記のようなエラーが
> 出ました。
> ERROR2002: Can't connect to local MySQL server
> through socket '/var/lib/mysql/mysql.sock'(13)
> と表示がでたので、実際にvarディレクトリの中の
> mysql.sockを調べてみたのですが、そのようなファイル
> はありませんでした。


『sock』ってやつが、くせものなんだよな!MySQLを起動できなくてイライラする。
73名無しさん@お腹いっぱい。:03/09/01 16:55 ID:IdnUs66K
>>74
mysqlはクライエント。
サーバーを起動しなさいよ。サーバーを
mysqladminとか、safe_mysqldとか。
# Unix系があんまり得意じゃないんだったらWebminとかつかってみたら?
7474:03/09/01 18:51 ID:???
あ〜、、、呼んだ? >>73
75あぼーん:あぼーん
あぼーん
76名無しさん@お腹いっぱい。:03/09/01 22:47 ID:zSHhRQOx
今日初めてSQLを学んだ。
慣れれば簡単そうだけど覚えるのが多いね
7773:03/09/02 01:29 ID:???
・゚・(ノД`)・゚・うわぁぁん
78名無しさん@お腹いっぱい。:03/09/03 14:18 ID:yeJYRlE/
MySQLって2バイト文字でORDER BY使うと変になりません?上手くソートしてくれないんですけど
79名無しさん@お腹いっぱい。:03/09/03 14:24 ID:???
うまくって?
80名無しさん@お腹いっぱい。:03/09/03 17:00 ID:???
そういやMySQLでソートのオーダー指定、eucにしたい場合
手段はあるの?
/usr/local/share/mysql/charsets/ にそれらしいものはないし
81名無しさん@お腹いっぱい。:03/09/03 19:01 ID:W0OmmNxy
>>80
/etc/my.cnf とかで
default-character-set=ujis
をかいとく。
82あぼーん:あぼーん
あぼーん
83名無しさん@お腹いっぱい。:03/09/03 19:40 ID:UDlDPwkA
windows上でMySQL使ってるんですが、
言語を日本語にすると、
言語ファイルがeucなので文字化けしてしまいます。
何か解決策ってありますかね?
84名無しさん@お腹いっぱい。:03/09/03 19:51 ID:???
>>83
言語ファイルって\mysql\share\japanese\errmsg.txt かな?
これをsjisに変換してcomp-err 使ってerrmsg.sysを作るらしいよ
8578:03/09/04 02:05 ID:ri/Rs3ix
>>79
50音順になってくれません。
86名無しさん@お腹いっぱい。:03/09/04 02:30 ID:???
ソートテーブルが無ければ文字コード順でしかソートできないと思うが
それでもひらがなやカタカナだったらうまくいきそうなもんだが・・・
8784:03/09/04 02:31 ID:???
らしいよって、実際やってみたらうまくいった
でもあまり日本語である必要性を感じないな
8883:03/09/04 12:38 ID:???
なるほど、ありがとうです!
8978:03/09/06 19:47 ID:???
>>86
ひらがなでもダメだったんで、聞いてみたわけなんですけどね。
結論はやはり2バイト文字ソート不可ってことですか。
90名無しさん@お腹いっぱい。:03/09/06 19:59 ID:???
>>89
そりゃ設定にミスがあるのでは
コンフィグファイルは確認した?
91名無しさん@お腹いっぱい。:03/09/08 01:28 ID:???
>>78
my.cnf とテストデータとSQL文はってよ。
92名無しさん@お腹いっぱい。:03/09/10 18:29 ID:ooLt7plh
mysql Ver 11.18 Distrib 3.23.56, for pc-linux (i686)
を使っているのですが
like '%%'文を使った時全く関係ないデータも表示されてしまうのですが
これはバグなのでしょうか?
93名無しさん@お腹いっぱい。:03/09/10 18:32 ID:???
>>92
テストデータとSQL文はってよ。
9492:03/09/10 19:18 ID:ooLt7plh
>>93 すみません。
create table test (sei varchar(10));
insert into test(sei)values('オカダ');
insert into test(sei)values('オカムラ');
insert into test(sei)values('ナカジマ');

select sei from test where sei like '%オカダ%';

で結果は3レコード共表示されてしまうのです。
95名無しさん@お腹いっぱい。:03/09/10 20:53 ID:???
それってCGIとか使ってる訳じゃないよね?
9692:03/09/10 20:58 ID:ooLt7plh
PHPは使っています。
ただ、サーバから直接コマンドで打ち込んでも
同じ現象がでてきます。
97名無しさん@お腹いっぱい。:03/09/10 21:26 ID:???
>>96
プロンプトで直接打ち込んでみたけどうちでは問題ないよ
CGIにSQL文打ち込んでやると、エンコード・デコードの関係でそのままじゃうまくいかなかったりするけど
98名無しさん@お腹いっぱい。:03/09/10 22:06 ID:???
使用している漢字コードと/etc/my.conf のチェック、かな
9998:03/09/10 22:08 ID:???
my.cnfの間違い
100名無しさん@お腹いっぱい。:03/09/11 15:23 ID:bTSyKieN
MySQL 3.23.49 です。 上に同じような質問ありますが、いっしょかな??
「やすださん」「てすとさん」
がいるとします。
や% で検索すると 「やすださん」「てすとさん」の2人ともHIT
%やすと% で検索すると「てすとさん」がHIT…
#他にもたくさん。た行以降があやしいです。
どうしたらよいですか?対策はあります??
101名無しさん@お腹いっぱい。:03/09/11 15:40 ID:1j6h+CU7
>>100
いっしょ。>>98とか>>81とかみてね
102100:03/09/11 16:57 ID:bTSyKieN
>>101
どうもです。

という事は…。

1.「my.cnf」が原因なら、MySQLが使えるWebホスティングを利用している人の場合は
Webホスティング会社に文句言えばいいのかな???
2.「使用している漢字コード」が問題の場合には、何が原因なんだろう。
EUC-JPは日本語検索には駄目っていうか、不向きとかですか???

さっきまで、MySQLって日本語検索使えないジャン! って思ってました。
違ったらウレシぃな。
103名無しさん@お腹いっぱい。:03/09/11 17:24 ID:???
>>102
つかえるから安心しる
104名無しさん@お腹いっぱい。:03/09/11 17:49 ID:???
コマンドライン使えない人はどうするのかわからんが、
mysql から、 \s したときに
Server characterset: と Client characterset: はどう出る?
105名無しさん@お腹いっぱい。:03/09/11 17:54 ID:e53gXgoN
load file命令ってトランザクションが効かないんですか?
beginしてload fileしてからcommitしても反映されないのですが。
106101:03/09/11 17:55 ID:e53gXgoN
load fileじゃなくてload dataでした・・・
107105:03/09/11 17:56 ID:e53gXgoN
しかもなまえ間違ってしまった・・・
10878:03/09/11 20:50 ID:4nvwGUlK
亀でスマソ。
まずは、my.cnf。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

default-character-set=ujis
10978:03/09/11 21:42 ID:4nvwGUlK
テーブル tablename
+--+-------------+
| id | name |
+--+-------------+
| 1 | あいうえお
| 2 | かきくけこ
| 3 | さしすせそ
| 4 | たちつてと
| 5 | なにぬねの
| 6 | はひふへほ
| 7 | まみむめも
| 8 | やゆよ
+----+-------------+

select * from tablename order by name;
11078:03/09/11 21:43 ID:4nvwGUlK
実行結果

+----+-------------+
| id | name |
+----+-------------+
| 5 | なにぬねの
| 6 | はひふへほ
| 8 | やゆよ
| 1 | あいうえお
| 2 | かきくけこ
| 3 | さしすせそ
| 4 | たちつてと
| 7 | まみむめも
+----+-------------+
11178:03/09/11 23:06 ID:4nvwGUlK
こういう状況です。
お願いします。
112名無しさん@お腹いっぱい。:03/09/11 23:57 ID:???
[mysqld] のほうにも ujis設定を・・・
11378:03/09/12 00:58 ID:l9EaP0nA
書く位置が悪かったんですね…
無事解決しました。ありがとうございましたm(__)m
114名無しさん@お腹いっぱい。:03/09/15 07:41 ID:C6Z0dSbU
VIEW(仮想テーブル)に対応予定はないんですかね。
対応ソフトが多いだけに、もったいない。
115名無しさん@お腹いっぱい。:03/09/15 22:16 ID:???
2台のLinuxでWEBサーバ、DBサーバにしてるんですが、
この間のパケットって暗号化されてますか?

PostgreSQLだとオプションで暗号化出来るみたいなんでつが
116名無しさん@お腹いっぱい。:03/09/15 23:25 ID:???
>>115
「暗号化されているか?」なんて、インストールした奴にしか判らん。
「暗号化できるか?」なら、出来る。
117115:03/09/16 04:17 ID:???
>>116
どうやってやるの?
118名無しさん@お腹いっぱい。:03/09/16 12:04 ID:BhUxtOc6
windows の mysql のデータベースの(utf-8で書かれた)データを直接閲覧、
修正できるツールは無いですか。
119名無しさん@お腹いっぱい。:03/09/16 20:15 ID:???
>>117
光ファイバーを這わして量子暗号化する
120名無しさん@お腹いっぱい。:03/09/17 00:34 ID:???
>>117
>PostgreSQLだとオプションで暗号化出来るみたいなんでつが
って、自分で調べたのではないのか? どうなんだ?
調べて無くても、「調べる場所」は判っているんだよな?

オプションを調べるんだよ!
121名無しさん@お腹いっぱい。:03/09/17 00:42 ID:???
>>117
SSH使うのが早いかもね>情報豊富。
あとは↓みてね。
ttp://www.winton.org.uk/zebedee/
122名無しさん@お腹いっぱい。:03/09/17 03:30 ID:i7aLC+VI
MySQLのデータベースの文字コードってsjisとujisしかないんですが
utf-8の場合、ujisのデータベースにそのまま入るんですか?
(特に問題はないんでしょうか)
PostgreSQLだと文字コードをunicodeでデータベースを作成して
たんですが。
123名無しさん@お腹いっぱい。:03/09/17 10:37 ID:CQuUQIu4
>>117
MySQL 4.0以降ではサーバー・クライエント間接続にSSLをサポートしています。
http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_toc.html#Secure_connections
# うちはZebedeeつかってるけど。まだ、3.xだから
124名無しさん@お腹いっぱい。:03/09/17 15:37 ID:???
>>114
5.0から対応するみたい
125名無しさん@お腹いっぱい。:03/09/17 23:01 ID:6PwGnikw
Access2000のmdbファイルをMySQLで読み出したいために、
データソースのファイルDNSに当該mdbファイルを指定しました。
しかしMySQLコンソールでこのmdbファイルを読めばいいか
分かりません。教えていただけないでしょうか。

環境はW2KSP4/MySQL-4.0.15/MyODBC-3.51.06です。
またAccess2000はインストールされていません。
126名無しさん@お腹いっぱい。:03/09/17 23:39 ID:8OYDXCZd
別スレで書いてあったのですが、
ここを見ると、MySQLを利用したソフトの場合は、ライセンスが必要となっていますが、
MySQLの入門書には、無料で使用できるとなっていた記憶があります。

社内限定の在庫管理等(自作)で、MySQLを使用した場合、
このコマーシャルライセンスを取得しないといけないのでしょうか?


http://www.softagency.co.jp/mysql/licensing.html
127名無しさん@お腹いっぱい。:03/09/18 00:35 ID:???
これ以上ないほどわかりやすく書いてあるじゃん。
GPLかコマーシャルライセンスか、好きな方を選べ。
128名無しさん@お腹いっぱい。:03/09/18 16:24 ID:???
129114:03/09/18 21:46 ID:eYPQubf2
>>124
おぉ! 対応予定あるんですね。
POP3認証、SMTP認証、FTP認証、 Postfixのルックアップテーブル、等をMySQLでやってるんだけど、
それぞれに癖があって一元管理は一苦労。VIEWが使えたら・・・と思ったよ。
でも5.0か・・・まだまだ先だな・・・。
130名無しさん@お腹いっぱい。:03/09/19 12:24 ID:/+eHmlZ/
MySQLで他のPC(ホスト)から接続をうけつける
にはどういう設定が必要でしょうか?
WinNT版とLinux版のmySQL使ってます
131名無しさん@お腹いっぱい。:03/09/19 13:59 ID:???
>>129
2003/04/14の記事には、
ttp://www.zdnet.co.jp/enterprise/0304/14/epn04.html

同社は4.1のバイナリを先週リリースしており、8カ月以内に最終バージョンを公開する予定。
5.0の最終バージョンはその後6カ月以内に登場するはずだ。

とはあるけどね。

132名無しさん@お腹いっぱい。:03/09/23 19:20 ID:???
お恥ずかしいお話ですが、質問します。
MySQLの4.014をWin2kのパソコンにインストールしました。

で、ユーザー登録の方法がよくわかりません。。
以下の掲示板を使いたいのですが、うまくせっていできないし。。。
http://www.php-j.com/scripts/bbs/fboard.php

ど素人の馬鹿にご教授願います・・・。
133名無しさん@お腹いっぱい。:03/09/23 19:55 ID:LGnbdP2o
Win版MySQLが動かなくて3日ほど悩んでます。
サイトを調べたり、本も買って、まったくその通りに
やっているのですが、どうしても動きません。
設定は以下の通り(ほとんどデフォルト)なのですが、
何か足りない設定がありますでしょうか。

Windows2000
MySQL 3.23.58(最新版も試しました)


C:\WINNT/my.ini

[mysqld]
basedir=C:/mysql
#bind-address=localhost
datadir=C:/mysql/data
#language=C:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M

[WinMySQLadmin]
Server=C:/mysql/bin/mysqld-max-nt.exe
user=root
password=++++++++++++
134名無しさん@お腹いっぱい。:03/09/23 20:40 ID:???
>>133
どうして動いてないってわかったの?
エラーは出てないのかな?
135名無しさん@お腹いっぱい。:03/09/23 21:06 ID:LGnbdP2o
>>134
mysqladmin pingが返ってこなかったり、winmysqladminで青信号に
なりません。またWindowsのサービスから起動すると
「ローカルコンピュータのMySQLサービスを開始できません。
エラー1067: プロセスの途中で強制終了しました。」
と表示されます。
上記のエラーについてもいろいろ調べてみたのですが、
解決策が見つかりませんでした。
136名無しさん@お腹いっぱい。:03/09/24 10:31 ID:???
winmysqladmin でエラーわからんかったっけ
サービスのアカウントはシステムアカウント?
137名無しさん@お腹いっぱい。:03/09/24 21:20 ID:5fO7R8pJ
MySQLのC APIに依存しないやり方で
スクリプト言語からのインターフェイスを作りたいんだけど
ソース以外で参考にできる情報ってないだろうか。
138名無しさん@お腹いっぱい。:03/09/25 01:06 ID:njzPHpBr
>>136
winmysqladmin.exeをwin上で実行して、パスワードとかは設定したんだよね?

私はここを見てインストールしました。
http://www.spinnen.co.jp/W2K_MySQL.htm
139nobodyさん:03/09/25 12:43 ID:fYGM/aC9
myisamchkをMySQL稼働中にやるのはマズいですか?
MySQL止めてからやれって書いてあるのは見たことはあるのですが
現状止めれない状態なので・・

バレない時間に最適化するしかないのか・・
140名無しさん@お腹いっぱい。:03/09/25 16:17 ID:???
MySQLってWindowsでは使えませんか?
141名無しさん@お腹いっぱい。:03/09/25 16:31 ID:???
>>140
"MySQL" と "Windows" でググってみようとは思いませんでしたか?
142名無しさん@お腹いっぱい。:03/09/25 17:02 ID:???
ググる以前に過去レス、しかも(ry
143名無しさん@お腹いっぱい。:03/09/25 21:19 ID:???
>>141
それで出るなら苦労しないとw
144名無しさん@お腹いっぱい。:03/09/26 12:04 ID:???
>>143
出ることは出るけど内容が理解できないんだろ
145名無しさん@お腹いっぱい。:03/10/06 00:53 ID:HSH8o4K9
電話番号で検索したいんだけど、格納されているデータが

03-xxx-2222 とか 045(666)yyyy

のように適当な文字列(下手をすると電話番号ですらない)なのです
こういうとき、どうしたらいいのでしょうか

PHPから利用してるので
まず電話番号のフィールドとキーを全部取り出して配列に入れて
数字以外の文字を削除した文字列を作って
その文字列を検索するようにしていますが、正規表現とか
select文一発でうまく出来るならそれでなんとかしたいです。

データベース上の電話番号の方を正規化(?)したいのですが
「データは見るだけ。触るな」と言われてしまったので
146あぼーん:あぼーん
あぼーん
147名無しさん@お腹いっぱい。:03/10/06 03:04 ID:O8FTuLmF
>145
それはデータをDBに投入するプログラムがクソだな。

ちょっと長くなるけど、電話番号の数字と数字の間に [^0-9]* を入れた正規表現はどう?
たとえば、110 を調べたいときは、

select * from table where tel regexp "^[^0-9$]*1[^0-9$]*1[^0-9$]*0[^0-9$]*$";
148名無しさん@お腹いっぱい。:03/10/06 15:03 ID:???
>>145
電話番号を正規化したデータと、そのままのテキストデータ
両方を入れておけばいいじゃん。
149名無しさん@お腹いっぱい。 :03/10/06 18:29 ID:n1OmKH4E
>>135
その後、動いたのですか?

私もWindowsXPにインスートルしたのですが、
サービスの開始ができません。

何かしらの設定等があるようでしたら、教えてください。
150名無しさん@お腹いっぱい。:03/10/06 20:42 ID:???
>>148
見るだけなのです
151名無しさん@お腹いっぱい。:03/10/06 20:45 ID:???
「見る」ってなんだ?モニタ眺めて脳内で正規化するのか?
152名無しさん@お腹いっぱい。:03/10/06 21:27 ID:???
>>151
DBに対して許されている操作はSELECTだけという意味です
153名無しさん@お腹いっぱい。:03/10/07 14:35 ID:vi2tZuFQ
>>152
select * from table
where replace(replace(replace(telno,'-',''),'(',''),')','') = '045666yyyy'
154最近はじめました:03/10/07 22:05 ID:AhexBLfu
id番号としてauto_incrementを設定しているのですが、
既存のレコードを削除した後に新たにレコードを入力すると
その削除したレコードのidに自動的になってくれないのですがどうすれば良いですか?
今は数が少ないので番号指定でしのいでるんですが。。
教えて下さい、お願いします。
155名無しさん@お腹いっぱい。:03/10/07 22:08 ID:???
>>154
一番おっきい数字+1になるのが仕様なので
それがいやな場合は
とりあえずユニークとかプライマリにしといて
豪快に1から順にインサートしてって
成功するまで頑張るとか
156最近はじめました:03/10/07 22:20 ID:???
>>155
ああ。。仕様ですか。。。
でも、ありがとうございました。
すっきりしました。
157名無しさん@お腹いっぱい。:03/10/08 03:01 ID:nxmirwQO
実用のDBって書類整理以外に用途って何があるんでしょうか?
158名無しさん@お腹いっぱい。:03/10/08 03:08 ID:???
書類整理?
159名無しさん@お腹いっぱい。:03/10/08 03:14 ID:nxmirwQO
帳票やらECデータを分かりやすく言うと書類整理かなって思って
160名無しさん@お腹いっぱい。:03/10/08 03:46 ID:???
アクセスみたいなものでフリーウェアあります?
select文とか打つの疲れちゃった。
161名無しさん@お腹いっぱい。:03/10/08 04:08 ID:???
ここ2、3日で相当痛いレスが急に増えたけど、なんかあったのか?
162名無しさん@お腹いっぱい。:03/10/08 09:19 ID:4zzmbpu1
CSEというのがありますが、御希望に沿うかな。
ttp://www.hi-ho.ne.jp/tsumiki/
163名無しさん@お腹いっぱい。:03/10/08 11:52 ID:???
>>162
ありがとう

>>161
( ゚д゚)、ペッ
164 :03/10/08 22:02 ID:hnVTTfdl

MySQLをSETUP.EXEでインストールしました。
mysqladmin.exeをダブルクリックして、パスを通して、コマンドプロンプトから
mysql -uroot -p とすると
Error2003 Can't connect to MySQL server on 'localhost' (10061)と言うエラーがでます。
データベースのマークも赤信号のままです。

過去になんどもインストールしたのですが、こんなことはありませんでした。mysqladmin.exeを一度ダブルクリックすると
以降コンピュータを起動するたびに、MySQLサーバが自動的に起動してくれたのですが、今回は起動しません。

データベースにつなぐこともできないので、なにもできません。
インストールし直してもうまくいきません。

関係あるかしりませんが、Java2EnterpriseとJBossが他にインストールしてあります。

誰か分かる方教えてください。
ちなみにバージョンは3.23.58です
165名無しさん@お腹いっぱい。:03/10/08 22:21 ID:???
>>164
>>26-31は読んだ上の質問か?
166164:03/10/08 22:50 ID:hnVTTfdl

>>165
どうも、ありがとうございます。
一応すべて目をとおしました。20くらい前のレスでも、僕と同じ悩みを抱えていたみたいですが、
解決はしていないみたいです。

ちなみに、サービスを開始しようとすると
「ローカルコンピュータのmysqlを起動できません。
エラー1067:プロセスを途中で強制終了しました。」
というダイアログがでます。コマンドプロンプトで同じことをやっても、同じ結果です。
167164:03/10/08 23:32 ID:hnVTTfdl
先ほど、データベースが使用できないとエラーが出て、質問させていただきました
が、解決できました。他の掲示板などでも私と同じ問題を多数見つけましたので、解
決方法(思いついた箇所)を書いておきたいと思います。

私のエラーとしては

その1.
mysqladmin.exeをダブルクリックして、パスを通して、コマンドプロンプトから
mysql -uroot -p とすると
Error2003 Can't connect to MySQL server on 'localhost' (10061)と言うエラーが
でます。

その2.
winmysqladmin.exeを起動しました。しかし、信号マークが赤信号のままで青信号の
状態になりません。testというデータベースを作
ろうと思い、mysqladmin -uroot -p creat testコマンドをうちましたが、結果は以
下のとおりです。

C:\Documents and Settings\ヒロミツ>mysqladmin -uroot -p create test
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to MySQL server on 'localhost' (10061)'
Check that mysqld is running on localhost and that the port is 3306.
You can check this by doing 'telnet localhost 3306'

その3.
mysqladmin.exeもパソコン起動毎に、mysqladmin.exeも起動しなければなりま
せん。普通は、一番最初にmysqladmin.exeを起動したら、次回からは自動的に
mysqladmin.exeは、自動的に起動されると思いました。

その4.
サービスを開始しようとすると
「ローカルコンピュータのmysqlを起動できません。
エラー1067:プロセスを途中で強制終了しました。」
というダイアログがでます。コマンドプロンプトで同じことをやっても、同じ結果で
す。
168164:03/10/08 23:32 ID:hnVTTfdl

以下が解決方法です。

・mySQLのバージョンを変更 3.23.58→3.23.49(これは、多分
関係ないと思いますが一応書いておきます。)

・インストールするディレクトリを変更 D:\Applications\mysql → C:\mysql 
(もしかすると関係あるかもしれません。)

・インストールする手順
1.元からあったMySQL3.23.58をアンインストールします。そのとき、
「残ったファイルを削除する為に、コンピュータを再起動してください」との旨の英
語のダイアログボックスがでるので、コンピュータを再起動します。
2.再起動したら、元の3.23.58のインストールされていたフォルダを削除し
ます。また、C:\WINDOWS\my.iniというファイルも削除しました。
3.コンピュータをもう一度再起動します。
4.MySQL3.23.49をインストールしなおしました。
5.コンピュータを再起動する

・再起動が終わったら、C:\mysql\bin\winmysqladmin.exeを起動します。ユーザ名と
パスワードを入力します。その後、画面一番右下のタスクトレイにある信号機のマー
クを右クリックして「WINNT」→「Install the Service」というようなのをクリック
しました。その後、もう一度画面右下の信号機のマークを右クリックして、
「WINNT」→「Start the service」と言うようなものをクリックしました。

以上で動作するようになりました。
169名無しさん@お腹いっぱい。:03/10/09 00:13 ID:???
php4.3.3とMySQLで開発しようとしているのですが、
Yahoo!とかであるような、
「トップ > インターネット > ホームページ作成 > ソフト」
みたいな階層は、どうやってテーブル設計すればいいのでしょうか?

id parentid(外部キー) categoryname

みたいにして、parentidを親のカテゴリとする方法はすぐに思いつくのですが、
それだと階層の深さ分、SQLを発行しなければならないですよね・・・

こういう場合って、どう設計するのがよいのでしょうか?
セオリーみたいなものってあるのでしょうか?
170名無しさん@お腹いっぱい。:03/10/09 01:01 ID:ZawGExxu
windows版使うやつの気が知れん
171名無しさん@お腹いっぱい。:03/10/09 03:27 ID:4pGSeP67
リモートアクセス許可や細かいアクセス制御について分かりやすく開設されたサイトってないでしょうか?
172名無しさん@お腹いっぱい。:03/10/09 03:27 ID:4pGSeP67
解説で訂正です
173名無しさん@お腹いっぱい。:03/10/09 23:32 ID:qpbWQriT
>>168
インストールディレクトリをc:\mysqlより変更した場合、
my.cnfの[mysqld]セクションでbasedirを設定する必要が
あった様な…
174名無しさん@お腹いっぱい。:03/10/10 17:39 ID:p96F2wEh
PHPを用いて、WEBからmysqlユーザーを登録するシステムを作りたいのですが、
どこかによい資料はないでしょうか?
FreeBSD+Apache+PHPで考えています。
よろしくお願いします。
175名無しさん@お腹いっぱい。:03/10/11 05:25 ID:Lv8Nt5l1
`a`が1または2と言う場合、「`a` = 1 or `a` = 2」と`a` in(1,2)とは
どちらが速いのでしょうか?
176名無しさん@お腹いっぱい。:03/10/13 01:19 ID:LbdzrcrS
>>174
普通にGRANT使えばいけるんじゃないの?

>>175
EXPLAINで解析汁
177名無しさん@お腹いっぱい。:03/10/13 10:03 ID:PVGE/+js
WEBの書籍データベースを作っているのですが、
ひらがなで検索すると、一致しないはずのデータが抽出されてくるんですが何ででしょうか?
例えば、「きだん」で検索すると
「きむんかむい」、「だいきちふたたび」、「ふらっしゅきめんぐみ」
等がマッチします。
MySQLの設定では、文字コードは、全てujisにしています。
HTMLの文字コードもEUCにしてます。
SQL文は以下のものです。
SELECT *
FROM mangatitle
WHERE yomi
LIKE '%きだん%';
「%」を付けてSELECTすると、大文字・小文字を区別せずに一致するためでしょうか?
例えば、「%g%」で検索すると、「hoge」も「HOGE」もマッチしますよね。
解決策あれば、教えてください。
178NAME IS NULL:03/10/13 16:54 ID:z697UFKW
4.0をRPMでインストールしたいんだけどrequire perlって出てインストールできません。
情報希望。
179NAME IS NULL:03/10/14 09:43 ID:rDgEhKvy
>>174
Web連携のユーザ権限にGRANT持ったせるのは関心できないから
登録したユーザの情報を公開ディレクトリより上位でテキストに書き出して
cronで定期的に登録すればいいんじゃないかな?
MySQLより危険なユーザ自動登録をそうやってる。
180NAME IS NULL:03/10/14 15:42 ID:???
>>178
パールのようなものがいるんじゃない?
181NAME IS NULL:03/10/14 17:33 ID:rDgEhKvy
鈍器のような物では無理かな
182NAME IS NULL:03/10/15 15:43 ID:???
select replace( 'a1b2c3d4e5f6g7h8i9j' , '\d' , '' );

こういうことがやりたいんだけど、できません
183NAME IS NULL:03/10/15 17:35 ID:vUesjL8e
>>182
REPLACE()で正規表現使いたいってこと?
たぶん無理。
184NAME IS NULL:03/10/15 18:03 ID:9ePsFHcA
処理をMySQLに依存してやるなら2つのトランザクションでlikeと
組み合わせるしかないんじゃないかな。
185177:03/10/15 23:54 ID:mU+Ykr7H
ポカミスでした。
my.cnfの設定をしてから、再起動をしてませんでした。
してたつもりだったのに。。。
186174:03/10/16 18:36 ID:J3HfvKvY
>>176
もうすこし具体的にPHPのソースを記述していただければ幸いです。
どうもそのあたりがわからないので。すんまそ
187176:03/10/16 23:02 ID:0JW2EfyC
>>186
だから
$sql = 'grant all on *.* to username@localhost identified by "password"';
$sql = 'grant all on *.* to username@"%" identified by "password"';
こんなの作ってqueryおくりゃいいじゃん。
接続の方法すらわからないとか?
188 :03/10/17 13:33 ID:F7R7j37N
拡張子.sqlのファイルを書いてそいつを実行する方法をおしえてくらしゃい。
189NAME IS NULL:03/10/17 14:46 ID:???
>>188
$ mysql < hoge.spl
190NAME IS NULL:03/10/17 19:20 ID:???
source hoge.sql
191NAME IS NULL:03/10/17 22:57 ID:Pg7NdwwI
MySQLというか、SQL自体が初心者なのですが、こういう場合、どう処理すればいいか
教えていただけますか?

DBにはテーブル1とテーブル2があり、IDで結合されます。
テーブル1とテーブル2は1:nです。

欲しいのは、テーブル1のレコード数です。
WHERE条件としてテーブル2の値のうち、いずれか1つがマッチすれば、
これを1つだけカウントしたいのです。

私のテストした方法は下のような文ですが、
当然ながら目的のものが得られず、テーブル2のレコード数が表示されました。

テーブル1
ID
value1

テーブル2
ID
value2

SELECT COUNT(テーブル1.ID) WHERE テーブル1.id = テーブル2.id AND value2="TRUE";


私なりにいろいろ考えたのですが、答えが見つからずにいます。
わかる方、お教えください。
192NAME IS NULL:03/10/18 00:28 ID:???
SELECT COUNT(distinct テーブル1.ID) WHERE テーブル1.id = テーブル2.id AND value2="TRUE";
193NAME IS NULL:03/10/18 00:40 ID:IeO00OJI
>>192
できました!
どうもありがとうございます!
もっと精進しないとだめですね。
194モモ:03/10/18 00:59 ID:8u/OdU8D
ちょっとおたずねしたいことがあります。

一旦drop tableでテーブルを削除して、
作成したときと同じcreate文を入力したら、
Column 'Email' is used with UNIQUE or INDEX but is not defined as NO
T NULL
とエラーを返されてしまいました。
primary keyを指定しなかったらcreateできたのですが、指定するとダメなようです。
どうしてなんでしょうか???
195あぼーん:あぼーん
あぼーん
196NAME IS NULL:03/10/22 02:00 ID:cFk9J1B/
MySQLのセキュリティって外部アクセスを許可する以外は
ほぼデフォルトの運用を前提とした場合でも十分に安全なんでしょうか?
197NAME IS NULL:03/10/28 21:45 ID:???
ACCESS2000にMySQLのテーブルを2つインポートして、
それぞれのテーブルで主キーになっているIDフィールド同士を
結合したフォームを作成しました。
それでデータを入力しようとすると、
フォームに配置したコントロールが表示されず、
新規レコードを追加することができません。
どうすれば表示されるのでしょうか・・・

OS: WinXP
MySQLのバージョンは4.0.15
ドライバーは3.51
ACCESS2000

です。
198NAME IS NULL:03/10/29 03:37 ID:???
MyISAMってどう発音してます?
199NAME IS NULL:03/10/29 08:36 ID:???
マイイズム
ゲージ無しだな
200198:03/10/29 10:24 ID:???
事故レス
マイアイサム ってのが正解ということが分かりますた
さんくす
201NAME IS NULL:03/10/29 20:22 ID:???
>>196 フロントエンドがWEBサーバーのみで、DBがバックエンドマシンで
WANに触れてないなら何してもそんな問題ないだろうし、1台でWEBもDBも
な環境でFWないならなにやっても危ない。
202NAME IS NULL:03/10/30 22:00 ID:sTbt+zO/
MySQL 4.1はいったいいつになったらリリースされるのでしょうか?
203NAME IS NULL:03/10/30 23:10 ID:???
>>202
リリースされても半年は怖くて使えないから
その質問はリリースが出てからでも遅くない。
204NAME IS NULL:03/10/31 03:48 ID:???
4.0.12使ってます。
外部キー制約つきのテーブルを作ろうとするとエラーがでます。
ERROR 1005: Can't create table './testdb/tableA.frm' (errno: 150)

テーブルは次の定義です。

mysql> CREATE TABLE tableA (id integer PRIMARY KEY,
-> name varchar(20),
-> key integer,
-> FOREIGN KEY (key) REFERENCES ref_table (code))
-> TYPE=InnoDB
-> ;

ref_tableはInnoDBでもISAMでも同じくダメです。


エラーメッセージは構文違いといっていますが、
どこがまちがってるんでしょうか。
205NAME IS NULL:03/10/31 12:00 ID:???
>>203
そんな悲しいこと言わないで下さい。
ストアドプロシージャとサブクエリーを早く使わせて欲しい。
206NAME IS NULL:03/10/31 14:43 ID:CiJ/pV9o
MySQLで現在SJISでデータを格納しているのですが
これらをEUCのコードに変更したいと思っています。
EUCで一つずつ入れていく以外に
何かいい方法ってありませんでしょうか?
207NAME IS NULL:03/10/31 16:20 ID:???
968 名前:nobodyさん[] 投稿日:03/10/30 22:28 ID:tW7d2qdo
PHPからMySQLにEUC-JPでデータを渡したいんですけど
どうすればよろしいのでしょうか?
208NAME IS NULL:03/11/01 02:27 ID:???
>>205
ストアドは5.0からだろ
209NAME IS NULL:03/11/02 01:16 ID:GdGJSzZ8
レンタルサーバ上で今まではPostgresを使ってたのですが、
MySQLを使ってみようとして、入れてみました。
インストールはうまくいって、SSH接続してmysqlコマンドでDBをいじれるとこまではできました。

ただ、MyODBCを使って自分のPC(WinXP-ProSP1、Access2003)から接続しようとしたら、
そのリモホからは接続が許可されていません、というように怒られてしまいました。
MySQLのマニュアルを読んだところ、
≪UNIX 上の MySQL サーバーに対して、ユーザーと Windows マシンのアクセス許可を与えます。
これは、 GRANT コマンドで可能です。 「4.3.1 GRANT と REVOKE 構文」節参照. ≫
とあり、その節を参照したのですが・・・うまくいきませんでした。
以下、やったことを述べてみます。

rootユーザ(パスワード設定済み)がすでに存在するのですが、、
SSH上で(「mysql」と打ってから)
grant all on * to root@"%";
とやってみました。しかし、
mysql> grant all on * to root@"%";
Query OK, 0 rows affected (0.00 sec)
と言われてしまいました。(要は何も変わらなかったということですよね。。。)

どうすれば、レンタルサーバ上のMySQLへ、自分のPCから、MyODBC経由で接続できるようになるのでしょうか?
210NAME IS NULL:03/11/02 01:44 ID:fz8EzMsm
red hat linux 9使ってるんだけどいつもインストールがRPMで一括全部
インストール。なのでどこにmysqlがはいってるかわからない・・・
whereis mysqlでもでてこないし。/usr/local/mysqlじゃないし。
linuxについてはど素人です。dbもいじったことがありません
211NAME IS NULL:03/11/02 03:08 ID:???
>>210
もしかして何か聞きたいの?日記ならよそで・・・
212NAME IS NULL:03/11/02 03:19 ID:fz8EzMsm
そう、red hat linux9でデフォルトでmysqlってどこにインストールされてるの?
213NAME IS NULL:03/11/02 04:21 ID:???
/etc/my.cnf はあるかね?そこ見ればデータの場所はわかるが、、、
RedHatって どこそこ以下にインストールってないじゃん
コマンドは/usr/binだし、dataは/var/... だしlogは、、って全部違う
214209:03/11/02 21:55 ID:8Wuh+V/d
すいません、なぜか、その後、とくになにもいじってないはずなのに、
再度やってみたら、いまくいきました。なんでだろう。。。
215NAME IS NULL:03/11/03 00:03 ID:???
MySQLの設定ファイルmysql.cnfをいじりたいんですが、
ドキュメント読んでもさっぱり分かりません。
なにかMySQLの構造を知るよい情報はないでしょうか。
URLでも本でもなんでもいいんですけど。
216NAME IS NULL:03/11/03 00:19 ID:2vXOz8oZ
MySQLに入れる日本語は、やはり、EUCのほうがいいのでしょうか・・・
217NAME IS NULL:03/11/03 03:10 ID:???
>>216 私はSJISですけど。
JDBCのドライバでは「Windows-31J」の指定です。
218NAME IS NULL:03/11/03 19:15 ID:???
>>216
うちはEUCですよ。
Linuxで使ってると、EUCのほうがいろいろと
扱いやすいですから。
219NAME IS NULL:03/11/03 20:39 ID:FTvFQ5Rb
MySQLでトランザクションを利用する場合、
SET AUTOCOMMIT=0;
として、AUTOCOMMIT モードを off にしますが、
version 4.1.0 ではこのコマンドが実行できません。
エラーの内容は、

>ERROR 1193: Unknown system variable 'AUTOCOMMIT'

確かにシステム変数一覧にも AUTOCOMMIT が無い様なんですが、
4.1ではどのように設定するんでしょうか。
また、my.cnfで設定する方法があれば教えてください。
220NAME IS NULL:03/11/04 02:17 ID:???
>>216 i-modeコンテンツやってるから、SHIFT_JISだなー
一部の端末で、encodeingにWindows-31J使えないやつがあって
しょうがないからShift_JISにしてやると、いわゆる「98文字」が
文字化けして・・こまったもんだ。SUN死ね。
221NAME IS NULL:03/11/05 00:45 ID:yHeFJQhD
>>220
Javaのことほとんどしらないだけど、
出力時にSJISに変換ってのはできないもんなんでしょか?
222NAME IS NULL:03/11/05 01:58 ID:???
>>221
SJISと、Shift_JISとWindows-31J(MS-932)ってのは
よく似た別のものなんだよ。大体同じなんだが、違う文字が
ちょっとだけある。
一般的にいうShift_JISはIANA名はWindows-31Jが正解
SJISといわれるのがShift_JIS
IANA名をJDBCドライバに教えてやらないと変換狂う。
しかも、無理やり出してやると、ブラウザによって狂う。
i-modeだと一部の電話機でWindows-31Jが通らない。
Shift_JISと言って見ると文字化ける。
どうしろっていうんだよまったく。
223NAME IS NULL:03/11/05 01:59 ID:???
あー、このSUN氏ねってのは、JDK1.41から日本語のShift_JISが
Windows-31Jから、誰も使っていないShift_JISというなにかに
変わったから。勝手にかえるなぼけ。
DBとあんまり関係ない話題ですまそ。
っていうか、みんなJDBCつかってないの?
224NAME IS NULL:03/11/05 11:10 ID:nyTnBTuk
質問です。

1件の申し込みで会員を3人まで登録できる申し込みDBのようなものを作ってるのですが、
この登録する3人はIDで格納して、表示するときは会員テーブルからIDで名前を引っ張ってきて
表示させようと考えてます。

その処理を行うクエリーを考える場合、1回のクエリーで3人分のIDを
名前に変換して表示することは可能でしょうか?

サブクエリを使えばできそうなんですが、MySQL4.0ではサポートされてないので。。。

よろしくお願いします。
225NAME IS NULL:03/11/05 15:34 ID:???
>>224
いまいち言っている意味がわからんが、...単に表結合すればいいんじゃないのか?

テーブル設計をみせてくれよ。


226NAME IS NULL:03/11/05 16:00 ID:???
>>224
結果が3行に渡ってもいいのなら
create table req (id integer, key1 integer, key2 integer, key3 integer);
create table name (key integer, name text);

select req.id, name from req, name
where req.id = "適当な数字"
and (req.key1 = name.key or req.key2 = name.key or req.key3 = name.key)

っていう手が使えるけど。
227NAME IS NULL:03/11/06 01:07 ID:???
>>224 なんか、普通にDBでやることのようなんですが・・
なにができないんですか?
228NAME IS NULL:03/11/06 09:09 ID:???
3つのクエリ使うのがシンプルで良いと思うけど、
それが許されない状況なのか????
229224:03/11/06 11:13 ID:???
>>225
わかりづらくてすいません。
テーブル構成はまさに>>226のようなイメージです。
このreqテーブルから、複数データを引っ張ってくる時に、
それぞれのkeyをnameに変換するようなクエリを
1つのクエリで実現が可能かどうか知りたかったのです。

>>226
ありがとうございます。私の説明で的確にテーブル構造を
理解してもらえてうれしいです。
そういうやり方もあるんですね。勉強になりました。

しかし、その例で言うreqテーブルから複数件表示させたいので
複数行だと厳しいです。単一行でそれぞれ名前に変換させることは
MySQL4.0xだと無理ですかねえ?

>>227
1つのクエリで処理することができなかったので。。。

>>228
いや、現状3回クエリを発行してやってるんですが
スマートに1回で済ませる事ができるのか知りたかったもので。
230NAME IS NULL:03/11/07 00:41 ID:KwiV+fX2
>>229 すんませんが、226のselectって、クエリ1回やん(結果は3行だけど)
なんで3回必要なの?
231NAME IS NULL:03/11/07 00:55 ID:/vQ6KF7E
RedHat9にてmysql稼働してます
どうしてもSJISで処理したいのですがどうしてもうまくいきません
/etc/my.cnfにdefault-character-set=sjisを追加し
デーモンの再起動(service mysqld restart)でだめです

やりかた違いますか?ご教授お願いします<__>
232NAME IS NULL:03/11/07 00:59 ID:KwiV+fX2
こういうこと?

create table req (id integer, key1 integer, key2 integer, key3 integer);
create table name (k integer, name text);

というときに、

select r.id,a.name,b.name,c.name from req r,name a,name b,name c where r.key1=a.k and r.key2=b.k and r.key3=c.k and r.id=数字;

あるいは、これだとnullの名前がある場合がだめなら

select r.id,a.name,b.name,c.name from req r left join name a on r.key1=a.k left join name b on r.key2=b.k left join name c on r.key3=c.k where r.id=数字;
233NAME IS NULL:03/11/07 01:04 ID:KwiV+fX2
>>232は、229への答えね

>>231 それで動いてますが。うちのはMySQL3.27ですが。
234226:03/11/07 01:31 ID:???
>>232
ご苦労さま。
それでOKですね。
235NAME IS NULL:03/11/07 06:00 ID:???
>>231
MySQLのバージョンは?
何をやろうとしてどうダメなの?
236231:03/11/07 12:44 ID:E/8LA/8a
赤帽エラータすべて最新です
通常のhtmlがsjis、sqlから受け取ったデータがeuc、混ざってしまうのでsjisで統一したいのです
もしかして今気づいたのですが
途中で設定変えたので変えたあとの入力データならうまくいくのかな?
237あぼーん:あぼーん
あぼーん
238224:03/11/07 15:02 ID:???
>>232
なるほど!同じテーブルを別名で結合するんですね。
再帰結合っていうのかな。

とても参考になりました。ありがとうございます。
239NAME IS NULL:03/11/07 22:13 ID:KwiV+fX2
>>236 DBなんて、indexとlockつきのファイルシステムにすぎないんだから、
EUCでいれた文書をSJISで取り出すなんてできません。最初からSJISで
いれませう。
240わむて ◆wamuteW7DE :03/11/07 22:17 ID:???
                                        __
                           __  ミ      <_葱看>
                         <_葱看>     / i レノノ)) ヽ
                        ./ i レノノ))) \   d(~人il.゚ - ゚人
             ミ           .人il.゚ - ゚人     (/ (/(/      ミ  /)
               て/´ ̄ヽ       ( ((つつ、       彡        〈_:|フつ
                ⊂))  )      〈|: _フつ                  ⊂i 人(つ
                .yy~~~~ .Y    (/                    ヽ Y!|.。 - 。Y
       __      \((ヘ   _! /                       .\ !_ヘ//))) /     __
     <_葱看>    < 葱看> 彡                        <_葱看>     <_葱看>.
    / i レノノ)) ヽ     ̄ ̄                                ̄ ̄    / i レノノ))) \  / ̄ ̄ ̄ ̄ ̄
     (~ 人il.゚ - ゚ノ                                                . 人il.゚ ヮ゚ノ人  < みるまらー!
   (// ((つつ                                                   .⊂)Yi      \_____
彡                                                           .⊂ヽノ!  スタッ!
  ピョン!                                                         し'
241あぼーん:あぼーん
あぼーん
242NAME IS NULL:03/11/08 00:03 ID:sH7sTPWW
>>238
232です。べつに再帰してないです。たくさん並べてるだけです。
再帰っていうか、自己参照結合ってのは

create table log(id integer,d date);
みたいなテーブルで、自分と同じ日に来た人全員を取り出すとかですね。
select b.id from log a,log b where a.d=b.d and a.id=数字;
243NAME IS NULL:03/11/08 02:06 ID:???
>>242
238が勘違いしそう。

再帰じゃないよ。単なる結合だよ > 238
244NAME IS NULL:03/11/08 12:04 ID:zcqYFbc1
>>239
ありがとうございます
自己解決してました(読む前に)
LANGの設定をいじり、それにあわせてターミナルの設定も
うまくいきました、そしてお騒がせしました、、、
245NAME IS NULL:03/11/08 13:36 ID:/KCgrsNA
SQL初心者です。
MySQLにEUCでデータを格納した場合、
普通にSELECT文で表示させると当然EUCコードで表示され
実際のデータが読めないのですが
何かいい方法ってありませんでしょうか?
246NAME IS NULL:03/11/08 14:24 ID:???
>>245
・プログラムを全てEUCで書く
・格納するデータをSJISにする
・必要に応じて文字コードを変換する

上の3つのうちのどれかを採用
247NAME IS NULL:03/11/08 14:49 ID:Xrox5m1E
>>204
遅レス。

mysql> CREATE TABLE tableA (id integer PRIMARY KEY,
-> name varchar(20),
-> key integer,
-> INDEX (key), ←これ入れる
-> FOREIGN KEY (key) REFERENCES ref_table (code))
-> TYPE=InnoDB
-> ;

4行目入れてやってみましょう。
248NAME IS NULL:03/11/08 14:57 ID:sH7sTPWW
>>245 windowsにMySQLがあって、なぜかEUCで入れているという
不思議な例だと思うんですが、Linux使えばいいと思うんですが。
あるいは、LinuxからWindowsのMySQLにログインすれば、EUC
が読めます。
249NAME IS NULL:03/11/08 23:16 ID:???
頼むからwindowsに入れてるやつ帰ってくれよ
250NAME IS NULL:03/11/09 01:17 ID:???
>>249 まーそうおもうけど。それはそれで。
>>245 もう一台、Linuxのマシンを置く。なんでもいい。
そこに、mysql clientをインストールする。
PCからterra termでLinuxにログインし、そこでホストに
windowsのマシンを指定してmysql clientを起動する。
・・・
って馬鹿だな。
251NAME IS NULL:03/11/09 19:03 ID:oI0UyCJW
mySQLってマックOS X(10.1)じゃだめなんでしょうか?
10.2じゃないと動作しない?
252NAME IS NULL:03/11/09 21:38 ID:???
test
253NAME IS NULL:03/11/10 01:03 ID:???
>>251 たぶんその質問に答えられるやつはこの板にはこないと思うので
「ソースをgccでコンパイルすればうごくんじゃないかな」と言って
みるテスト。
254NAME IS NULL:03/11/10 18:20 ID:daSrgZQa
質問ですが、
MySQLのversion4.1っていつ、正式リリースされるんでしょうか?
この夏にはリリースされるようなことを春頃の雑誌には書いてあったのですが、
ずっとαバージョンのままです。
なにか問題でもあったのでしょうか。

はやく正式バージョンでサブクエリーを使ってみたいのに。
255NAME IS NULL:03/11/10 23:24 ID:???
>>254 問題出ないわけないだろ。
お前は出たらすぐ使う気ですか?正気ですか?
DBなんて1年寝かせないと使えないよ。
256NAME IS NULL:03/11/11 00:50 ID:???
>>255
254はいつリリースされるんだと聞いているんじゃないかい(俺は知らんが)。
だから`問題'ってのは正式リリースが遅れているのはなにか
問題でも発生しているのかってことだと読めるが。
正式バージョンの安定化はまた別問題だろ。読解力がない奴は困るな。
257NAME IS NULL:03/11/11 01:38 ID:???
多機能を求めるならポストグレスつかえばいいんでわ
258NAME IS NULL:03/11/11 04:01 ID:???
>>257ハゲドゥ速さ重視ポリポリ
259NAME IS NULL:03/11/11 12:20 ID:???
VineLinuxにRPMでインストールしようとしているのですが、
ウマくいきません。ご教授願えないでしょうか。
インストールしたのは以下の通りです。
MySQL-3.23.58-1.i386.rpm
MySQL-client-3.23.58-1.i386.rpm
MySQL-Max-3.23.58-1.i386.rpm
MySQL-devel-3.23.58-1.i386.rpm
MySQL-shared-3.23.58-1.i386.rpm
上記の4つに関してはインストールに成功したのですが、最後の
MySQL-shared-3.23.58-1.i386.rpmだけ、
「エラー: 依存性の欠如:
libc.so.6(GLIBC_2.2)は MySQL-shared-3.23.58-1 に必要とされています
libpthread.so.0(GLIBC_2.2)は MySQL-shared-3.23.58-1 に必要とされています」
と表示されて、インストールができません。
libc.soとlibpthread.soは/usr/libにあります。
何かヒントだけで構いませんので宜しくお願いします。
260NAME IS NULL:03/11/11 12:23 ID:???
ここは質問の趣旨から斜め上の答えを連発するスレですね。
261NAME IS NULL:03/11/11 18:45 ID:???
phpmyadminをインスコしようと
http://koro.plala.jp/archi/tips/php_myadmin.php
を見ていたらconfig.inc.phpのユーザー名とパスは
winmysqladmin で設定したIDとパスと書いてあったので
ちょっと混乱しているのですが…。

インスコ時に設定するconfig.inc.phpのユーザー名とパスは
1.MySQLインスコ時にwinmysqladminで設定したmy.iniから見れるユーザー名(適当)とパス。
2.DOSのmysqlから設定したユーザー名(root)とパス。
どちらを使ったらいいんでしょうか。
ローカル鯖(Windows環境)で両方試したら、どちらでも
Welcome to phpMyAdmin 2.5.4
Wrong username/password. Access denied.
とでてしまいました。
262NAME IS NULL:03/11/11 20:55 ID:???
windowsに入れてるやつは帰れ
263NAME IS NULL:03/11/12 00:35 ID:???
>>260 質問に意味がないことが多いからな
264NAME IS NULL:03/11/12 02:40 ID:???
>>263
だからMySQLは日本でダメなんですね
265NAME IS NULL:03/11/12 03:08 ID:???
質問のレベルが低すぎるのも問題だけどね
266NAME IS NULL:03/11/12 12:04 ID:???
なんで4.1のリリースが遅れてるのかという質問は低レベルということか。ふーん。
じゃあ、MySQLのヘビーユーザ諸君は当然答えを知ってるんだよね。

MySQLは一企業が開発しているものだから代理店以外の外部の人間で開発状況が分かる奴がいるなんて信じられんがね。
267NAME IS NULL:03/11/12 13:39 ID:???
>>266
Montyの娘に男ができて開発どころではないんだよ!
268NAME IS NULL:03/11/12 13:40 ID:???
>>266
Montyの娘に男ができて開発どころではないんだよ!
269NAME IS NULL:03/11/12 13:50 ID:???
>>268
一企業で開発しているといっても一個人ではないだろう(w
270NAME IS NULL:03/11/12 15:24 ID:???
>>267
正解か.

>>269
また斜め上の答えですね.

271NAME IS NULL:03/11/12 21:55 ID:???
ここはMySQL雑談スレですね
272NAME IS NULL:03/11/12 23:14 ID:???
>>266 理由。機能盛り込みすぎ。バグ取りに時間かかってるから。
っていうか、信じられないなら信じるな。どっかいけよ。
273NAME IS NULL:03/11/13 14:52 ID:???
レプリケーション使ってるひといますか?
マスターを複数おきたいんですけど
274NAME IS NULL:03/11/14 00:05 ID:???
すいません・・・
MySQLをアンインストールしたいんですけど、
アプリの追加と削除をしたら、できないと帰ってきます。
どうやったら良いのでしょうか?
275NAME IS NULL:03/11/14 01:07 ID:???
>>274
MySQLデーモンをシャットダウンして、
/usr/local/mysql以下を全消去
276NAME IS NULL:03/11/14 07:36 ID:???
最近のUNIXには「アプリケーションの追加と削除」がついてるのか。そうですか…。
277NAME IS NULL:03/11/14 11:30 ID:???
TurboLinux10とかには付いてそうだ
278NAME IS NULL:03/11/14 13:00 ID:???
ttp://www.zdnet.co.jp/enterprise/0304/14/epn04.html
には

同社は4.1のバイナリを先週リリースしており、
8カ月以内に最終バージョンを公開する予定。
5.0の最終バージョンはその後6カ月以内に登場するはずだ。

とある。

だから俺自身は予定がずれ込んでいるという印象はあまりなかったんだけどね。
だけどもし遅れるのだとしたら、MaxDBの方の影響もあるんだろうね。
279NAME IS NULL:03/11/14 17:41 ID:r+4jlwMH
PHPからMySQLのデータを参照していますがログに気になる記述が残ります。
NONEXISTENT/charsets/?.conf' not found (Errcode: 2)
というものなのですが、何かお気づきの点はありますでしょうか。

Googleにて検索してみたところ、
ttp://www.mysql.jp/mysql/TIPS/clients.html
というページが見つかり、そのページに書かれているとおりに
モジュールの作成をやり直してみても変化がありません。

OS : RedHat 8
PHP : 4.3.3
MySQL : 3.23.58
280NAME IS NULL:03/11/14 18:03 ID:???
>>278
2003年4月発表で"8か月以内"っていうと2003年内ってことだろうけど、
そうすると11月中旬の段階でまだαってのは、大丈夫なんですかい。

と心配してみるテスト。
281NAME IS NULL:03/11/14 18:17 ID:???
教えてください。

select * from tableA left join tableB on key1=key2
で外部結合しtableA全件表示されるのですが
これに
select * from tableA left join tableB on key1=key2 where tableBの条件設定

とすると内部結合と同じ件数になります。
tableBの条件をつけながらtableAの全件で結果を表示するにはどのようにすればよろしいでしょうか?

環境windowsXP mySQL 3.23.51-nt apache php
282NAME IS NULL:03/11/14 22:35 ID:???
>>281
mysql> create table t1(a int,b int);
mysql> create table t2(b int,c int,d text);
mysql> insert into t1 values(1,1),(2,2),(3,3);
mysql> insert into t2 values(1,10,'aaa'),(2,20,'bbb');

mysql> select * from t1 left join t2 on t1.b=t2.b;
+------+------+------+------+------+
| a | b | b | c | d |
+------+------+------+------+------+
| 1 | 1 | 1 | 10 | aaa |
| 2 | 2 | 2 | 20 | bbb |
| 3 | 3 | NULL | NULL | NULL |
+------+------+------+------+------+

mysql> select * from t1 left join t2 on t1.b=t2.b where t2.c<15;
+------+------+------+------+------+
| a | b | b | c | d |
+------+------+------+------+------+
| 1 | 1 | 1 | 10 | aaa |
+------+------+------+------+------+

mysql> select * from t1 left join t2 on t1.b=t2.b and t2.c<15;
+------+------+------+------+------+
| a | b | b | c | d |
+------+------+------+------+------+
| 1 | 1 | 1 | 10 | aaa |
| 2 | 2 | NULL | NULL | NULL |
| 3 | 3 | NULL | NULL | NULL |
+------+------+------+------+------+
こういうことがしたいんでしょうか?
283NAME IS NULL:03/11/14 23:30 ID:???
>>13 >>33と同じように、副問い合わせ対応を心待ちにしてる一人です。
DB2にでも行ったほうがいいですかね?
284281:03/11/15 00:19 ID:???
>>282さま
great thanks at all です。
実際にはもうっちよっと複雑(テーブルを6つ結合してます)なので現時点ではまだ上手くいっておりませんが、ようするにwhereをつかわず結合条件で行うってことですね。
もっかい白紙に戻して条件整理してみます。
ヒントありがとうございました。
285281:03/11/15 09:12 ID:???
>>282
その後いろいろ試しました。実はt1表にも絞込み条件があるのですが
これがwhereを使わないとだめみたいです
andだけですと全件表示でタイムアウトします。
t1の絞込条件をどこに書いてもだめそう。
それとt2表でcount、sumしてるのでt1表項目でgroupしてます。
本屋行って情報あさってみます。
286NAME IS NULL:03/11/15 10:58 ID:???
>>285 t1に「絞込み」案件があるなら、whereで
件数を絞るのはあたりまえ。それで全件でてくるほうがへん。
なにがなんでも全件なら、絞らないで全件出力して
言語(JavaでもPHPでも)のほうで条件つけるべきです。
287NAME IS NULL:03/11/15 11:22 ID:???
>>285 どうしてもDBだけでやりたいなら
t1にt1を自己結合してやってみー
288ワシだってWinきらい!:03/11/15 23:35 ID:???
どうしてもWinでやってるとダメなんでつか?
業務でしかたなくWinなだけなのに…
289NAME IS NULL:03/11/16 01:35 ID:???
べつにWinでもいいんだけどさー
Winじゃないとわからない質問されてもこまる。
答える人がWinじゃないことがほとんどだということを頭に入れとこう。
290ワシだってWinきらい!:03/11/16 02:15 ID:???
了解しましたです>>289
とりあえずApache+PHPからたたいてるので、
S-JISで保存してる以外は機種依存してないはず…
はず゙と信じたい(w
291NAME IS NULL:03/11/16 17:01 ID:???
>>285 雰囲気としては、こんな感じでしょうか?
mysql> select * from t1 t11 left join t1 t12 on t11.a=t12.a and t12.a>2 left join t2 t21 on t11.b=t21.b and t21.c<20 where t11.b>1 group by t11.a;
+------+------+------+------+------+------+------+
| a | b | a | b | b | c | d |
+------+------+------+------+------+------+------+
| 2 | 2 | NULL | NULL | NULL | NULL | NULL |
| 3 | 3 | 3 | 3 | NULL | NULL | NULL |
+------+------+------+------+------+------+------+
292NAME IS NULL:03/11/16 21:42 ID:???
なにげに副問い合わせ対応してるような
293285:03/11/16 22:58 ID:???
>>291
ありがとうございます。
テストデータでは確かに実現することを確認させていただきました。
小生の実データで同じようにやってみたつもりなのですが
タイムアウトどころかmysqldのプロセスタイムが99%になり反応しなくなりました。構文を間違えているかデータ件数が多いからかもしれません。
t1が15000件 t2 約36万件 ヒントは十分頂いたのであとはカットアンドトライしてみます。 SQLポケットリファレンスもgetしますた。
勉強します。
294NAME IS NULL:03/11/17 00:43 ID:???
>>293 ハングはgroup byのせいだとおもうが、
どうせもうリアルタイムは無理っぽいので
insert into .. select でテンポラリーファイルに
落として複数回で処理したほうがいいかもね。
295NAME IS NULL:03/11/17 11:28 ID:???
explainして解析しながら、適切なindexを用意すべき
296NAME IS NULL:03/11/18 13:34 ID:50pEq5sG
MaxDB by MySQL Now Available.

だそうだ。
297285:03/11/18 23:18 ID:???
>>294
insert intoでほぼ解決しました。ほぼというのはまだ件数によってはタイムアウトの懸念があるからです。
やったことはgroup byで求めたい部分だけをテンポラリーに書き出し
外部結合でそのテンポラリー他5つのテーブルをつなげました。
whereで絞り込んでも集計項目は’0’で表示され思い通りの結果が得られました。

>>295
本日時点ではexplainは試してません。が件数によってはindexを見直さないと駄目かも知れないと思ってます。

ありがとうございました。
298NAME IS NULL:03/11/19 02:25 ID:???
ここの人、なにげに親切だな
299NAME IS NULL:03/11/19 18:27 ID:9vmg5D2S
PostgreSQLのgetvalueって、mySQLではどういった形に
なるのでしょうか。
只今移行中です。
300NAME IS NULL:03/11/20 00:53 ID:???
getvalueってどっから持ってきたの?
301NAME IS NULL:03/11/20 02:13 ID:???
あー、えーと、すみません、説明不足でした。
PerlのPgモジュールの中の関数の一つです。
MySQLの場合はfechrowはあるのですけどgetvalueが無いので
どうやるのかなと。
302NAME IS NULL:03/11/20 02:16 ID:???
って、これはWebProgの方で質問すべきですかね。
失礼しました。
303NAME IS NULL:03/11/21 20:08 ID:???
えーとすいません、
select id,max(score) from Ranking group by id;
みたいなSQLで、max(score)でorderしたいんですが、
いまは、insert into ... select .. group by.. したあとに
orderしてるんですが、一発でやる方法ありますか?
なんか間抜けだったらすいません。
304NAME IS NULL:03/11/21 22:05 ID:???
とってもトな質問で申し訳ありません。
MySQL3.2をいま使ってますが
4にすると、なにが変わるのでしょうか?
305NAME IS NULL:03/11/21 22:17 ID:???
>>304
バージョン
306NAME IS NULL:03/11/21 22:41 ID:???
>>304
http://www.google.com/ で「MySQL 4.0 4.1」を検索すると
追加機能を説明したページが多数見つかります。
下記は検索されたページの一例です。

MySQL、開発者が明かした今後のロードマップ
http://www.atmarkit.co.jp/news/200309/12/mysql.html
> 4.0では新たにMultiple table DELETE/環境変数の動的変更/
> クエリーキャッシュ/Full Text Searchなどが実装され、
> 4.1では副問い合わせ/GIS/カラム単位の文字コード指定/
> Prepared Statements/文字コードの変更を行うconvert()関数が追加されている。
307NAME IS NULL:03/11/21 22:48 ID:???
ありがとうございます。
www.mysql.comの中をただよっていたのですが、
本家ではAlpha版、人柱版といろいろただよってるので
3→4なんていまさらというか、なかなかたとりつけなかったのです。
308NAME IS NULL:03/11/22 01:09 ID:DMeZkjWB
mysql-standard-4.0.16をMac OS Xに入れてみました
インストールはとりあえず成功
その後の初期設定を”日本MySQLユーザ会”のマニュアル見ながらやってますが
なんかうまくいかないみたいで。。

マック使ってる人、おられましたらぜひ指南を
309NAME IS NULL:03/11/22 03:16 ID:???
>>303
MySQLって、order by max(score) とか order by 2 とかって
使えないんだっけ?
310NAME IS NULL:03/11/22 04:27 ID:???
>>309さま
order by 2 が使えました。ありがとうございますです。
order by max(score)は使えなくて悩んでたんです。
311NAME IS NULL:03/11/22 09:56 ID:???
>>310
select で max(score) as 得点とかしてやって
order by 得点 で出来ないかな?
countで同じようなことをやってうまくいきました。
今検証してみたらできたよ。多分出来ると思う。
312NAME IS NULL:03/11/22 17:21 ID:???
>>311さま
asで別名にすればorder通るんですね。
いままでasって何のためにあるんだろうって思ってました。
ありがとうございます。
313NAME IS NULL:03/11/22 23:41 ID:???
>>308
何やってどう駄目なのかがわからないと答えようがないぞ。
314NAME IS NULL:03/11/23 01:53 ID:OBEWScm5
まるっきり初心者です。
MySQLでは、Accessのようなグラフィカルなテーブルデータ表示はできるのでしょうか?
315NAME IS NULL:03/11/23 02:07 ID:???
>>314
まるっきり初心者らしくて良い質問だな。
そんなことの出来るデータベースなんて普通は無い。
AccessはフロントエンドとDBMSが一つになっているからああいうものは特別。
(付属するツールで実現可能なのはいくつかあるけど)
316NAME IS NULL:03/11/23 02:27 ID:???
ODBC使ってAccessをフロントエンドにMySQLを使い、
Adminツール併用すればそれっぽくなるかな
317NAME IS NULL:03/11/23 05:05 ID:???
>>316
いいんじゃねーの
318NAME IS NULL:03/11/23 10:50 ID:???
kaneyan使えば?
319314:03/11/23 11:24 ID:OBEWScm5
>>315
ありがとう!
目からうろこです。
市販されてるような高価なものならば、ああいうことは当然できるのかと思ってました
アクセスみたいなテーブル表示させるには、フロントエンドのツールが別途必要ってことなんですね?
320NAME IS NULL:03/11/23 19:49 ID:???
MySQLって、高価だっけ・・ という突っ込みはともかく
DBって、システムの1部品にすぎないのです。これに
WEBサーバーとか、サーブレットとか組み合わせて、プログラム
も書いてシステムに作り上げるのね。
Accessはエンドユーザー向けのパッケージ商品だからね。
321NAME IS NULL:03/11/25 00:46 ID:0bqvZISp
あくせす以外の、テーブルの中身表示するようなフロントエンドツールなんてあるの?
322NAME IS NULL:03/11/25 03:36 ID:???
paradox
323NAME IS NULL:03/11/25 05:36 ID:???
ODBC使えるならCSEも楽
324NAME IS NULL:03/11/25 12:26 ID:???
MySQLクラシックの表示価格とかAccess2003の実売と同じぐらいだけどね。
#MySQLも実売はもうちっと交渉で下がるよん。

折れもCSEかな。ODBCで繋がるのでMySQL以外の場合でも
I/Fの変更に気を使わないで済むし。
Navicat(旧MySQLスタジオ)は?
http://japan.mysqlstudio.com/

でもこういうでツールで値入れるのってデバッグや
メンテ以外にないよね。客には専用にツール作って渡すし。
325NAME IS NULL:03/11/25 14:33 ID:???
>>324
おお!こんなのあったんだ。
マック使いのオレには興味あり
326NAME IS NULL:03/11/25 15:45 ID:???
かねやんもある。
ttp://www.mmdb.net/m_kaneko/
327100:03/11/25 20:04 ID:mkGiI1bT
クロンジョブでDBをバックアップ(ダンプ?)

バックアップしたデータをphpMyAdminで復活

という事をしたいのですが、データの形式が違うらしく、復活できません(>_<)
phpMyAdminで読めるようなDUMPの仕方ってあるのかな?
他のphpMyAdminを使っている人はバックアップ(の自動化)はどうしてますか?

以下、問題のデータです。。
●phpMyAdminでのDUMP
# phpMyAdmin SQL Dump
# version 2.5.2
# http://www.phpmyadmin.net
#
# ホスト: localhost
# 作成の時間: 2003年 11月 25日 18:56
# サーバーのバージョン: 4.0.15
# PHP バージョン: 4.2.3
#
# データベース: `xxx`
#

# --------------------------------------------------------

#
# テーブルの構造 `table1`
#
# Creation: 2003年 11月 13日 18:15
# Last update: 2003年 11月 25日 16:28
#

CREATE TABLE `table1` (
`no` int(11) NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`memo` text NOT NULL,
UNIQUE KEY `レコードナンバー` (`no`),
) TYPE=MyISAM COMMENT='メモ' AUTO_INCREMENT=194 ;

#
# テーブルのダンプデータ `table1`
#

INSERT INTO `table1` VALUES (1, 'タイトル', 'メモ');
INSERT INTO `table1` VALUES (2, 'タイトル', 'メモ');

# --------------------------------------------------------
328100:03/11/25 20:05 ID:mkGiI1bT
(続き)
●クロンジョブ用シェルスクリプト
#! /bin/sh
mysqldump -q [databasename] > /[dir]/[filename]`date +%Y%m%d%H%M%S`.dat -u [username] --password=[pass]

●↑の結果
-- MySQL dump 9.09
--
-- Host: localhost Database: xxx
---------------------------------------------------------
-- Server version4.0.15-standard

--
-- Table structure for table `table1`
--

CREATE TABLE table1 (
no int(11) NOT NULL auto_increment,
title varchar(255) NOT NULL default '',
memo text NOT NULL,
UNIQUE KEY レコードナンバー (no),
) TYPE=MyISAM COMMENT='メモ';

--
-- Dumping data for table `table1`
--

INSERT INTO table1 VALUES (1,'タイトル','メモ');
INSERT INTO table1 VALUES (2,'タイトル','メモ');

PS.100のやつはホスティング会社さまからお返事もらえず、解決してません(しゅん…)
329NAME IS NULL:03/11/25 21:23 ID:???
phpMyAdmin使ってる例じゃなくて悪いけど、
うちではDB一度止めてディレクトリ丸ごとコピーしてバックアップしてる。
ダンプすると量がすごいことになるので。
330NAME IS NULL:03/11/25 23:17 ID:???
WHERE hoge='Hoge'
大文字小文字区別したいんだけど、どうするんだっけ?
331NAME IS NULL:03/11/25 23:30 ID:???
>>330
mysql> select 'a'='A';
+---------+
| 'a'='A' |
+---------+
| 1 |
+---------+
1 row in set (0.00 sec)

mysql> select BINARY 'a'='A';
+----------------+
| BINARY 'a'='A' |
+----------------+
| 0 |
+----------------+
1 row in set (0.00 sec)

ただ、フィールドにちゃんとbinary指定したほうがいいみたいよ。
332NAME IS NULL:03/11/25 23:34 ID:???
>>331
ありがとう
オレのアルターを使ってバイナリーにしました。
333NAME IS NULL:03/11/26 19:36 ID:8fFah1ri
MySQL Control Center
の紹介がないようなので、書き込んどく
便利なGUIツールですよ(Win,Linux版有り)

ttp://www.mysql.com/products/mysqlcc/index.html

TableのビューにかねやんとかCSEとか使う前に、
本家のをつかってあげてください。
334NAME IS NULL:03/11/26 21:56 ID:???
IDCへの回線がtelnetしかポートあけてないので
DBに直つなぎできないんだよなー。
そういう人はやっぱみんなコマンドラインかな。
335NAME IS NULL:03/11/28 19:18 ID:???
厨な質問ですみませんが、
当方PHPとMySQLを使って、掲示板を作成してるのですが、
新規入力でデータを入力すると、板ナンバーと、時間だけは保存されますが、
肝心のユーザーの名前と投稿内容がDBに登録されません。
安直な質問ですが、よろしくお願いします。

環境
OS  windows XP pro
MySQL 4.0.14b
PHP 4.3.4
Apache 2.0.48
336NAME IS NULL:03/11/28 21:51 ID:???
>>335 さすがにソースみないでデバッグはできないです。
337NAME IS NULL:03/11/29 01:59 ID:???
>335
自作なのに作ってるその人が「判らない」ってのもな。
言葉通り取るなら「外」つまりブラウザから渡ってくる値が
書き込まれないと捉えられるのだが。
一度DBに書き込む直前で、変数にのってる書き込みたい値を
画面で見れるようにechoかなんかで出力してみ。
338100:03/11/29 11:11 ID:Kl37Qzaf
>329
そですか〜〜
ウチはそれが出来ないので…しょぼん
339100:03/11/29 11:23 ID:Kl37Qzaf
>335
日本語のデータの受け取りが上手くいってないんじゃないですか?
と書いてみるテスト。

//データをSQL用に変換
function cnv_sqlstr($string){
if(!get_magic_quotes_gpc()){
return addslashes($string);
}
else{
return $string;
}
}

$nihongo_no_data = cnv_sqlstr($nihongo_no_data);

こんな感じで日本語のデータを変換してみたらどうかしら。
文字コードとかも気にしながら〜
340100:03/11/29 12:01 ID:Kl37Qzaf
連書きごめんネ。
>330-332

>100
が上手くできるんですけど!?

SELECT `name`
FROM `table1`
WHERE BINARY `name`
LIKE '%やすと%'

このSQL文で正解なのかな、日本語検索って?どうなの?
もしそうなら331さんアリガト〜なんですけど。
341NAME IS NULL:03/11/29 19:54 ID:???
正解ではないが、うまくいってんならとりあえずいいんじゃない?
別に問題が出たらまた考えなさい
342NAME IS NULL:03/11/29 20:42 ID:???
ひとつのテーブル内で、そのレコードにユニークな値を
つけることは出来るけど(AUTO_INCREMENTとか)、
DB内の全てのテーブルのレコードに渡って
ユニークな値だと保障できるようなフィールドを
つくることができるでしょうか
343NAME IS NULL:03/11/29 22:47 ID:???
>342
それはテーブルの設計をし直した方が良いのでは?
レコード管理用のテーブルを1個つくれば済むと思うよ。
344NAME IS NULL:03/11/30 00:22 ID:???
いっこのsequence使えばいいじゃん。
345NAME IS NULL:03/11/30 00:52 ID:???
>>344
シーケンス用テーブル作るしかないですかね・・・
いろいろ調べたけどそれが一番よさそうです。
346NAME IS NULL:03/11/30 04:52 ID:???
正規化したら、テーブルがふたつになった!
めんどうくさい!
ひとつのsql文で、ふたつのテーブルにインサートしたい!
どうしたらよいでしょうか!
347NAME IS NULL:03/11/30 06:57 ID:???
クックブック買った人いる?
いたら感想きぼん。
348NAME IS NULL:03/11/30 16:33 ID:???
ビューを作る、、無いのか
トリガを作る、、無いのか
349NAME IS NULL:03/11/30 19:18 ID:???
>347
来年の1月にVol.2がでてからまとめて買おうかと。
1万円こえますな。懐に痛い
350NAME IS NULL:03/12/01 01:15 ID:m8McCW86
/usr/local/mysql/var/以下にある、
localhost-bin.001,localhost-bin.002とかいうファイルが
すごく容量重いので、なんのファイルかstringsでみてみた
ら昔のログファイルのようでした。

HDの容量をかなり圧迫しているので、必要な分だけ残して
消す方法はないのでしょうか?
351NAME IS NULL:03/12/01 01:22 ID:???
ログはレプリケーションしていないならあまり必要ないが、
障害復旧の役に立つので、あるに越したことはない。
いらないなら、my.cnfのlogの行をコメントアウトするとよい。
あと、圧縮されているので、中を見るにはmysqlbinlogを使う。
352NAME IS NULL:03/12/01 03:57 ID:m8McCW86
> 351
ありがとうございました。よくわかりました。
とりあえず要らないので消すことにします。
353NAME IS NULL:03/12/01 04:11 ID:m8McCW86
load data した時に、
Query OK, 1157 rows affected (6.59 sec)
Records: 1157 Deleted: 0 Skipped: 0 Warning: 40

と出るですが、このWarningの内容はどこで確かめたら
よいのでしょうか?
354NAME IS NULL:03/12/01 04:20 ID:???
>>353
すぐ上のやり取りで出てるログでは対処できんか?
355NAME IS NULL:03/12/02 03:38 ID:BGR/fIxz
>>354
ログというのは、
/usr/local/mysql/var/localhost.localdomain.log
のことでしょうか? こちらではWarningの内容は出力されてませんでした。

プロンプト上で実行したコマンドの下にログというかメッセージが
通常出るものかと思いますが、load dataの時は、すぐに
Query OK, 1157 rows affected (6.59 sec)
Records: 1157 Deleted: 0 Skipped: 0 Warning: 40

と出てしまい、どこにも出力されてないような気がします。。。
356NAME IS NULL:03/12/02 03:50 ID:RebitiAp
Y氏 好循環  I氏 悪循環  (日本)
 (健康体)  (喘息)

1.(神が喘息であるかないかを決める)
  Y        I
2.喘息でない人  喘息の人は
は体力がある   体力がない
Y I
3.        行動力、
         五感(嗅覚)が鈍り感性が変化
         する
  Y        I
4.神は異常な感性の人間は本来人に迷惑をかけるから外に出てはいけないと思っている。
Y I
5.変化なし    アトピーになる
Y I
6.正常な感性   外に出なくなりさらに異常な感         性になる
Y I
7.正常な人間    異常な人間(レッテル)
357NAME IS NULL:03/12/02 03:51 ID:RebitiAp
Y I
8. 死
  Y        I
9.      来世
Y I
10.神は異常な人間は人に迷惑をかけるので行動を抑制する必要がある
Y I
11.神は異常な人間は人に迷惑をかけるので行動を抑制する必要があると思っている。
Y I
12.神が喘息であるかないかを決める
  Y        I
13.喘息でない   喘息である
  Y        I
     1.に戻る

神は事態の収拾に必死、頑張れよー。
358NAME IS NULL:03/12/02 03:52 ID:RebitiAp
アトピー性皮膚炎の治し方

行動力=ガッツ=体力

アトピー性皮膚炎の患者は、
感覚の鈍い人間が多い。
それはなぜか。
幼少期喘息になるから、
体力がつかないため、
五感が弱るからである。
解決方法は、
五感を強くしてやればいい。
体力をつけることですぐに五感が正常になり、
行動力も湧くのである。
五感が正常になり、体力もつけば、
アトピー性皮膚炎も不思議と消えることが多い。

359NAME IS NULL:03/12/02 05:33 ID:???
『くっ!ガッツがたりない』
360NAME IS NULL:03/12/02 12:23 ID:???
初心者なんですが、現在PHPで作る掲示板の本買ってきて勉強中です。
それで意味は解からないんですが、PHPの基礎が終わったら、MySQLの章に入っています。

そこで質問なんですが、ODBC使ってMySQLとACCESSのリンクしようとしたら、denied for userとか言って弾かれてしまいます。

いろいろ自分なりに調べたところ、user名かパスワードが違うらしいと判明(?
自分の名前が、解からないので mysql>select * from user; と入力したんですが、それらしき名前はありません。
どうした良いのでしょうか?
361NAME IS NULL:03/12/02 12:49 ID:???
>>360
ユーザがなかったら追加しようぜ!
mysql徹底入門P300あたり読め
362NAME IS NULL:03/12/02 20:52 ID:???
>>361
レスありがとうございます。
ユーザーの追加方法について調べてみます。
363NAME IS NULL:03/12/02 22:38 ID:???
access2000を使ってデータを入力使用としているのですが、
データ入力中や直後に「#Deleted」と入力行のセルのデータが表示されてしまいます。
一旦ウィンドウを閉じてもう一度表示しなおすと正常に入力されているようなのですが
再度データ入力すると同じ現象が起きてしまいます。
なぜこのようになってしまうのでしょうか?
364さる:03/12/03 01:52 ID:GKVHTJhQ
オラクルにあるrowidってmysqlだと無いのか?
365NAME IS NULL:03/12/03 02:39 ID:???
>>364
無い
366NAME IS NULL:03/12/03 17:40 ID:???
mysqlccで日本語打てない
367NAME IS NULL:03/12/04 14:52 ID:h5vtXvdo
こういうエラーを発生させたんですがまったく良く分かってません。
データを呼び出して修正→さあ更新というところで発生しました。
何がいけないんでしょうか。ご教授をお願いします。
Syntax error or access violation, message from server:
"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 'where id = 8' at line 1"

ちなみに環境
Winxp
Jsp(Tomcat使用)
mysqlのバージョン4
ソースは長いんで後で。
368NAME IS NULL:03/12/04 16:41 ID:???
シンタックス・エラーあるいはアクセス妨害(サーバーからのメッセージ):「SQLシンタックスにおけるエラーを持っています。正しいシンタックスが近く使用するためにあなたのMySQLサーバー・バージョンに相当するマニュアルをチェックする「どこで、id=8」1行目で"
369NAME IS NULL:03/12/04 18:38 ID:???
>367
ソースも無いのにこんなんで原因が特定できたらエスパー
370NAME IS NULL:03/12/04 19:44 ID:???
SQL関連のエラーは、いったんSQLを出力して、
cgiの時と同じユーザーで手動でそのSQLを実行してみりゃ
大抵再現する。
371NAME IS NULL:03/12/05 03:24 ID:iuv8UIDW
>>367
単純な構文ミスと思われ
漏れもよくやってしまうんだが、変数とか使わずに実数値でデータを更新するSQL文を実行してみて
それで問題なければ変数を一個ずつ入れ替える
372NAME IS NULL:03/12/05 11:07 ID:2cqQYevW
>>371
確かに構文ミスでした。解決いたしました。
>>370の内容を参考にいちいちSQLを出力してみたら
あ、ここがミスってるのがけっこう分かってプログラム動きました。
なるほどなるほど。
つか、シンタックスエラーって普通は単なる構文とかのミスなんですね。
始めてこのエラーを見てすごい特殊なことをしたのかと
真剣に悩んだ私はただの馬鹿・・・。初心者はこれだから困る。
373NAME IS NULL:03/12/05 11:15 ID:lJF2eG1U
timestamp に default を付けたくて、以下のようにしているのですが、

create table test(
date timestamp default current_timestamp
);

このようなエラーが出ます。
ERROR 1064: You have an error in your SQL syntax near 'current_timestamp)' at line 2

上のcreateは間違っているのでしょうか?
374NAME IS NULL:03/12/05 16:00 ID:???
4.1.1キタ
375NAME IS NULL:03/12/05 17:13 ID:???
>>373
timestamp型の場合はdefault値を設定せんでも,nullを入力したら
currentのtimestampが入ると思ったが…。
376NAME IS NULL:03/12/06 12:24 ID:???
初めてMySQLをやります。WinXPのコマンドプロンプトで
C:\mysql\bin>mysql mydb
mysql> connect abcd
と打ったのですが
次の行が
->
となってしまいます。
mysql>
と表示されるようするにはどうしたらよいのですか?
377NAME IS NULL:03/12/06 13:08 ID:j4V015Z7
「;」セミコロンうってみたら?違う?
僕も初心者なんでようわからんけど。
378NAME IS NULL:03/12/06 15:08 ID:???
\で始まるもの以外はセミコロンが無いと継続行とみなされます
379NAME IS NULL:03/12/06 16:06 ID:???
MySQLってWindowsユーザーの方が多い?
380376:03/12/06 17:28 ID:???
>>377
「;」でできました。ありがとうございます

mysql> connect abcd
mysql> use mysql

の状態から再び

C:\mysql\bin>

の状態に戻すにはどうしたらいいんでしょうか?
381NAME IS NULL:03/12/06 17:52 ID:???
>>380
\q + RETURN

終了方法くらいマニュアルで確認してから操作しろよ。
382376:03/12/06 18:15 ID:???
あ、すいません、ありがとうございます。
383NAME IS NULL:03/12/06 18:30 ID:2OCiSJcH
>>375
有り難うございます。確かにtimestampはnullを入れるとcurrent_timestamp
になりました。create文でわざわざ書かなくて言いようになっているんですね。
情けない・・。気づかなかった・・。 有り難うございました。
384NAME IS NULL:03/12/06 18:37 ID:???
Windows版って安定してんの?まともに動くの?
なんかWin版使ってる奴って初心者ばっかりじゃん。

10台くらいでレプリケーション組んだりとかすると、
Windowsのライセンスが10台分要るわけだよね?
クソ杉
385NAME IS NULL:03/12/06 20:09 ID:???
別にレプリケーションですべてをWin版に合わせる必要は無いがな
386NAME IS NULL:03/12/06 21:15 ID:???
そんならLinuxユーザーの方が多いわけ?
387NAME IS NULL:03/12/06 21:16 ID:WCwoiHaT
388NAME IS NULL:03/12/07 17:54 ID:KO3p7J5/
点呼とってみよう 1
OSはLinux
MySQLは3.23
389NAME IS NULL:03/12/07 22:28 ID:???
2
Linux(赤帽) CPU Xeon もち仕事です
MySQL3.23
390NAME IS NULL:03/12/07 22:32 ID:6qgjWcmq
3、趣味
ウィンxp
MySQL4.0.16
391NAME IS NULL:03/12/07 23:01 ID:X9AdYzz7
4 仕事
OSはLinux
MySQLは3.23
392NAME IS NULL:03/12/07 23:59 ID:0/Irr4F4
5 仕事
Linux
Apache+PHP+MySQL3.23
393NAME IS NULL:03/12/08 00:05 ID:???
6 仕事
Linux(RH8とDeb)
Mysqlは3.23
394NAME IS NULL:03/12/08 00:12 ID:???
7 仕事
Linux(Turbo Linux)
MySQL 4.0.16

イントラネット
FreeBSD 4.7
MySQL 4.0.16
395NAME IS NULL:03/12/08 06:39 ID:???
8
Solaris8
PostgreSQL 7.2.3
396395:03/12/08 06:40 ID:???
あ、MySQLか。MySQLは4.0.14 あんま使ってないが
397NAME IS NULL:03/12/08 15:38 ID:R8oOuHmI
入力フォームで複数選択ができる場合
例えば「あなたのOSを教えてください(複数選択可)」の時に
一つのfieldにまとめて|(windows)1|(mac)0|(linux)1|ってな感じで入れるのと
一つづつのfieldに|1|0|1|って入れるのどちらが利点がありますか?
検索の早さ、データ容量の節約などです。
説明が解りにくかったら再度説明させていただきます。
398NAME IS NULL:03/12/08 15:43 ID:m7kL1Ycb
set型つかえば?
399397:03/12/08 15:58 ID:R8oOuHmI
398>早速の解答ありがとうございます、
set型についてgoogleで調べて理解はできました、
つづいて質問させていただきたいのですが。
set型にするのとfieldを1つ増やすのだとどちらが検索等が高速にできますか?
400NAME IS NULL:03/12/08 16:31 ID:???
unix上で使ってたmysqlのデータ"db1"をwindowsのmysqlに移したとき、
mysql> select count(id) from db1.table1; は通るのですが、
mysql> select count(db1.table1.id) from db1.table1; が
ERROR 1109: Unknown table 'db1.table1' in field list
で通りません。どうやったら治せますか?
401NAME IS NULL:03/12/08 21:03 ID:???
>>400
そういうフィールドを追加すればいいんじゃない?
402NAME IS NULL:03/12/08 22:35 ID:Jmr2sFbT
あるマシンAで、
mysqldump > dump.sql
を実行して、

そのファイル「dump.sql」をマシンBに持っていって、
mysqlimport dump.sql としましたが、

ユーザの情報は、引き継がれませんでした。

いったいなにが足りないのでしょうか?
マニュアルで「mysqldump」のオプションを見てもそれらしきものがみあたらず。。。

また、これと重なる質問かもしれませんが、
マシンAでいろいろつくったDBの情報を、
そっくりそのままマシンBに移すには、どうすればいいのでしょう?
(mysqldump と mysqlimport で十分かと思っていたもので)
403NAME IS NULL:03/12/08 23:16 ID:???
>>402
ユーザの情報は、引き継がれません。

必要なユーザを追加すればいいんじゃない?
404402:03/12/08 23:33 ID:???
>>403
やっぱ、そうするしかないんでしょうか?
なんか、それ専用のコマンド(ユーザ情報を一挙にエクスポート&インポート)が
あるのかなーと思ったものでして。

なんせ、Postgresをちょっとかじったくらいの経験でして、
MySqlの場合、「create user」コマンドの代わりにgrant使うのを、ついさっき知ってびっくりしている次第。。。
405NAME IS NULL:03/12/09 00:21 ID:???
うちは
mysqldump mysql
でシステムテーブル引っ張ってこれるけど。

環境は mysqldump Ver 9.07 Distrib 4.0.10-gamma
406402:03/12/09 00:56 ID:???
あ、そうか。。。
明示的に「mysql」DBを指定しないといけないんですね。。。
てっきり、
mysqldump だけで、全部持って行けてるのかと思った。。。

と思ったら、
「mysqldump --all-database」っていうオプション、今、見つけました。見過ごしてました、すみません。

あと、>>402でインポート(リストア)で「mysqlimport」とか言ってましたが、
これは、タブ区切りとかのテキストをインポートするコマンドでしたね、勘違いしてました。すみません。

で、
「mysqldump --all-database」でバックアップしたsql文たちを、
別のサーバでリストアしたい場合、
もとのsql文を、DBごとに分けて、
mysql mysql < mysql.sql
mysql foo < foo.sql
mysql bar < bar.sql
・・・以下、DBの数だけこれを行うしか、脳がないのですが、
リストアの際に、「 --all-database」に該当するようなオプションなり、
テクニックというのはないのでしょうか?

407NAME IS NULL:03/12/09 01:42 ID:???
シェルスクリプト書いちまうのが楽だな。
もっと楽なのはSCPでディレクトリごとコピーだ。

ロックかけときゃ、誰も書き込めない品
408NAME IS NULL:03/12/09 01:46 ID:P+vjoSQP
>399
そればっかりは試してみないと分からないな。
indexの使い方次第で、どちらも速くなるとおもう。
explainやdescを使ってみるといいかも
409NAME IS NULL:03/12/09 20:23 ID:gUbYZf6b
>>373で一度質問したのですが、timestampとdatetimeを間違えてました。

create table test2(
date datetime default current_timestamp
);

上記のようにテーブルを作ると、
ERROR 1064: You have an error in your SQL syntax near 'current_timestamp
と怒られてしまいます。
datetimeにdefaultをつけるにはどのようにすれば良いのでしょうか。
410NAME IS NULL:03/12/09 22:07 ID:???
>>409 データをinsertするときに、now()って書いとけばいいんじゃない?
411400:03/12/10 21:41 ID:???
>>401
すみません、意味がわかりません。。
db1.table1は idというフィールドを既に持っているのですが、
db1.table1.idでアクセスできないのは、なにがおかしいのでしょうか?
412NAME IS NULL:03/12/10 22:58 ID:???
漏れはいつも普通に table1.id と指定するが、db1. をつけるとなんかいいことあるのか?
413NAME IS NULL:03/12/11 02:19 ID:???
DBをまたがってJOINする場合は、DBを指定することもあるね。
ってことで、AS句を使うと解決しそうだね。>411
414NAME IS NULL:03/12/11 22:10 ID:???
>>413
> DBをまたがってJOINする場合は、

そんなことできたんだ……
415NAME IS NULL:03/12/11 23:24 ID:MV4o5/ux
すいません初歩的な質問ですが、47都道府県などのうち複数を選択してもらいたい時
fieldはどのように作るのが良いですか?今はfieldを47作って0か1でオンオフをやっています。
set型だと良いとかいうのも聞いたのですが、よく分かりません。
よろしくお願いします。
416NAME IS NULL:03/12/11 23:53 ID:???
MySQLとApacheでサイトを運営してますが、
Apacheを再起動したいときは、
MySQLシャットダウン⇒Apache再起動⇒MySQL起動
で問題ないですか?
417NAME IS NULL:03/12/12 00:29 ID:???
>>415
JISで都道府県コードが決められているのでそれを使うとよいだろう
418NAME IS NULL:03/12/12 00:30 ID:???
>>415 (ID,都道府県No) のテーブルにjoinすればいいでしょ

>>416 問題はないが、DBシャットダウン時に、WEBサーバーの
スクリプトがエラー出すからそれはちゃんとトラップしる
419416:03/12/13 02:55 ID:???
>>418
>スクリプトがエラー出すからそれはちゃんとトラップしる
あ、なるほど。そこまで気がまわりませんでした。
ありがとうございます。
420NAME IS NULL:03/12/13 15:11 ID:???
>>419 WEBサーバー側がいろんな処理をしている途中で
MySQLをシャットダウンするとおかしなことがおきるので
DBのシャットダウン1分前ぐらいからWEBサーバー側は
DBへのアクセスをとめる必要がある。っていうか俺はそう
してる。
めんどくさいときはApacheを先に止めたほうがいいかも。
421NAME IS NULL:03/12/13 19:20 ID:48YAwtjw
以下のようなものを副問い合わせの出来ないmysqlでselectする
にはどのようにしたらいいでしょうか?

(果物の価格表)
┃果物┃月日┃価格
┣━━╋━━╋━━━
┃蜜柑┃1001┃100
┃蜜柑┃1101┃200
┃蜜柑┃1201┃300
┃林檎┃1001┃100
┃林檎┃1101┃200
┃林檎┃1201┃300

これで、各項目(果物)ごとに最新(月日が一番大きいもの)の
価格を検索したいのです。
具体的には

蜜柑 1201 300
林檎 1201 300

と出てくるようなselect文を書くことは可能でしょうか?
(mysql+perl)
422NAME IS NULL:03/12/13 20:25 ID:???
create table test(id int,date int,price int);
↑データのテーブル
これに対して、

create temporary table tm(id int ,m int);
insert into tm select id,max(date) from test group by id;
select a.id,a.date,a.price from test a,tm b where a.id=b.id and a.date=b.m;
drop table tm;

って書けば一応出てきますけど・・ ほかにもっといい方法あればきぼん
423NAME IS NULL:03/12/13 21:10 ID:48YAwtjw
>>422
有り難うございます。出来ました。
temporaryはこういう目的の為に使うんですね。応用力が足りませんでした(泣)。
424NAME IS NULL:03/12/13 23:19 ID:???
select 果物, max(月日), 価格 from 価格表 group by 果物;
ではダメなのかなぁ...
425NAME IS NULL:03/12/13 23:37 ID:???
>>424 それだとうまくいかないよ。価格がmax(月日)と対応しない
426NAME IS NULL:03/12/13 23:40 ID:???
間違ってました。The Rows Holding the Group-wise Maximum of a Certain Field
にかいてありますた。回線切っt
427NAME IS NULL:03/12/14 01:06 ID:EeVUqmNT
>>424
それはダメですね。>>425の方が言う通り、価格はmax(月日)のデータでは
ないのが抽出されます。
group by で複数行が1行だけ抽出されますけどその抽出にorder by が
入れられると楽なんですけどね。
428NAME IS NULL:03/12/14 05:24 ID:qrUiSRjH
>>170
hagedou
429NAME IS NULL:03/12/15 23:27 ID:kcPHVTkl
mysqlでシェルのいうところのechoやperlのいうところのprintのようなものは
あるでしょうか?
変数を表示したいわけではなくて、ただ罫線が書きたいだけなんですが


430NAME IS NULL:03/12/15 23:56 ID:???
select '------------------------';
431NAME IS NULL:03/12/15 23:58 ID:???
>>429
マジレスするとSQLで罫線を引くという時点で間違い
432429:03/12/16 02:16 ID:hQCINS2M
perlかphp使いなさいってことだな
わかつたよ!
433NAME IS NULL:03/12/16 11:15 ID:???
>>429
天然?
434NAME IS NULL:03/12/16 21:57 ID:???
MySQLクックブック VOLUME 1

ってどうよ。
立ち読みしたらかなりよさげだったが。
435NAME IS NULL:03/12/16 23:09 ID:???
まちがえて、rootユーザでつくっちまったDBを、別のユーザ(仮にfooとします)の所有物としたいのですが、
どうすればいいのでしょうか?
436NAME IS NULL:03/12/17 00:59 ID:???
>>435 別のユーザで新DB作成する。
MySQLを終了する。
前のDBのディレクトリの中身をcpで新しいほうに移す。
ファイルを全部chownとかする。
・・じゃだめ?
437NAME IS NULL:03/12/18 04:17 ID:eG0b9gRf
ほう、リファレンスマニュアルを翻訳するので人募集とな。

グループでの技術翻訳には死ぬほど経験があるが、MySQLを使った
ことがないわたしはダメだな。ザンネン。
438NAME IS NULL:03/12/19 04:49 ID:???
すいません、create table tbl (field1 text, field2 integer) type=InnoDB;
で、InnoDBというタイプのテーブルを指定できるのはわかったのですが、
逆に、既存のテーブルについて、どのタイプのものなのか、知るにはどうすればいいですか?
desc tblとやっても表示されなかったもので。
439NAME IS NULL:03/12/19 05:39 ID:???
>>438
desc は テーブルのフィールド情報を取得する
show columns from のエイリアスだからなぁ。

データベースのテーブル情報を取得する
show table status [from DATABASE] か
テーブルを作成するためのSQL文を取得する
show create table TABLE
のどちらかを使う。
440NAME IS NULL:03/12/22 11:43 ID:/VXZwH/9
MySQLが全角1文字を2文字としてカウントするんですが
1文字としてカウントさせるにはどうすれば良いですか?
441NAME IS NULL:03/12/22 12:24 ID:???
PHP関数を使ってMySQLを利用しているのですが、
mysql_free_resultなどでメモリ開放は逐一やるべきなのでしょうか?
PHPって色々自動でやってくれるけど
こういうメモリ開放も自動でやってくれないのかな。
442NAME IS NULL:03/12/22 16:41 ID:???
>>441
それPHPの仕組みの範疇だからPHPのスレに適合。

べきかどうかはプログラムによるけど、メモリ食うものなら「する」必然がある。
自動開放についてはスクリプトの終了した時、または参照が0
(例えばコネクションとかならcloseしたとき)になった時に行われる。
但しGC(ガーベージ コレクション)により開放されるので、
即座に(同時に)という訳ではないが。
443NAME IS NULL:03/12/23 03:13 ID:???
同種のデータ(フィールドが全て同じ)でも、
容量が膨大になった場合は二つのテーブルに分けた方が良いのでしょうか?
444NAME IS NULL:03/12/23 11:43 ID:???
>>443
なぜ分けた方がよいと思ったのか

速度低下を心配してる?
それとも他の問題?
445NAME IS NULL:03/12/23 13:21 ID:???
で、SAP DB改めMaxDBはどうよ?
446NAME IS NULL:03/12/23 22:52 ID:H17518kq
以前の会社でmysqlを使っていて、今度転職した先はMS SQLなど、主にMSテクノロジーを
メインで開発してるんだけど、上司につかったこともないくせに、mysqlって玩具だよねって
言われたときにこいつ殺そうかと思いました。
447NAME IS NULL:03/12/24 04:25 ID:???
>>444
検索とかするときに容量が大きいと遅くなるのかなぁと思って。
100Mくらいは余裕で行っちゃいそうな勢いなんです。
448NAME IS NULL:03/12/24 12:02 ID:???
今時100Mなんて別にでかくもなんともないだろ
449NAME IS NULL:03/12/24 12:41 ID:???
テーブルZは700万行 250MB 約半年分
テーブルUは350万行 424MB 約3か月分
だけどノープロブレムだ。私の選択は間違ってなかった。
P4 2GHz XPpro上にて
少しずつ消してもいいんだがパフォーマンスも知りたくてまだ消してない。
450NAME IS NULL:03/12/26 15:36 ID:Be3IFPI5
mysqlってロールバックが聞かない事を知り途方にくれています。
PHPから複数のテーブルを更新してるんですが、
途中でエラーが発生した場合に元の状態に戻したい場合って皆さんどうされてるんですか?
451NAME IS NULL:03/12/26 19:58 ID:???
>>450
mysqldumpでデータベースをバックアップしてから操作してる。
452NAME IS NULL:03/12/26 21:08 ID:???
>>423
あれ?4から効くんじゃなかったんでしたっけ?>コミット
といいつつ、私はまだ3ですが^^;
453NAME IS NULL:03/12/26 21:52 ID:???
>>450 「エラーが発生したときはハードの故障以外ないのでバックアップまで巻き戻る」ように作る。
っていうか、rollbackを前提として作っちゃだめだよ。
454NAME IS NULL:03/12/26 22:51 ID:???
トランザクションをまじめにコーディングすると
エラー処理のところで結局 rollback; と書かざるを得ないような
455NAME IS NULL:03/12/26 22:56 ID:???
>>450
安心しなさい、それは デ マ だ

っつーかテーブルを InnoDB に指定してないだろ
456450:03/12/27 00:40 ID:???
デマでしたか。お騒がせしました。
もう少し勉強が必要でした。
>>451,453
現在ユーザ登録の処理を作ってるんですが、その場合登録のたびにバックアップを作ってるって事ですか?
457NAME IS NULL:03/12/27 00:56 ID:???
InnoDB形式ならcommit使えるよな?
458NAME IS NULL:03/12/27 02:07 ID:???
トランザクションをまじめにやるとたしかにrollbackいるけど、
myisamだとできないし、そういう場合複数テーブルの更新で、
どうしてもAtomicにしたいならばtable lockするんだよ。
これはそういうDBなんだよ。

でも、絶対にtable lock必要な場面ってあんまりないんだけどな。
last_insert_idとか使えばUNIQUEなIDとれるから、それ使って
複数tableへのinsertとかもできるし。

俺的にはtable1のキーでwhereしてtable2にupdateできない
ほうがよっぽど痛いっす。
459NAME IS NULL:03/12/30 03:36 ID:???
MySQL5 の最初のバージョンである MySQL 5.0.0-alpha がリリースされました!

  http://www.mysql.com/downloads/mysql-5.0.html

なんといっても目玉は、

・SQL-99のストアドプロシージャをサポート

でしょう。

また、これまで変数名での大文字小文字を区別していたものを、このバージョンから同一と見なすよう変更となりました。

----------------------------------
例:
SET @a=123;

  SELECT @a;
  SELECT @A;

どちらも 123 を返すようになります。
460NAME IS NULL:03/12/30 10:57 ID:???
>>459
先にviewとsubqueryをサポートしてくで…orz
461NAME IS NULL:03/12/30 14:49 ID:???
MySQL4.0.17をWindowsXP上で使用しているのですが、
CSEを使って接続すると
ERROR 1227:Access denied. You need the SUPER REPLICATION CLIENT privilege for this operation.
と出てきてしまいます
mysql -u user user_db -p
でログインした場合は大丈夫です。どうしてなんでしょうか
ちなみに、CESの起動オプションは
cse.exe /dbms=mysql /user=user /pwd=******** /srv=localhost /db=user_db /port=3306
です。
462NAME IS NULL:03/12/30 21:05 ID:???
>>459
何となくクリスマスプレゼントぽかったけど、それはともかくとして、
こうやって明確に先々の機能拡張予定が明示されていることは良いことだと思いました。

>>460
サブクエリーは 4.1.x だっけかな?
463NAME IS NULL:03/12/30 23:30 ID:9U8PfvFV
PHPとMySQLの内部での文字コードやら出力時の文字コードやらを
全て統一しておくとパフォーマンスが向上するとマニュアルか何かで見たのですが、
MySQLの文字コード設定ってどうやるんですか?
(OSはLinuxなんですけどなんかWEB講座に書いてあったmy.cnfだかなんだかを
見てみたけど、default-charsetとかの記述は見当たらなかった。
と言うより文字コードに関した記述がさっぱり見当たらなかった。)
ちなみに、PHPの文字コードは全てSJISにしていて、
MySQLも同じく全てSJISにする腹づもりです。
464NAME IS NULL:03/12/31 00:13 ID:???
>>463
データベース起動時に指定する方法と、my.cnfに記述する方法がある。
my.cnfにかかれていない=設定できないではない。マニュアル見ようね。
起動時にいちいち指定するのは面倒だから、my.cnfに記入するのがお奨め。

あと趣味的にはSJISはお奨めしない。
EUCが一番楽だけど、半角カナなどを扱いたかったらMySQL4.1.x以降を
利用するかblob型を利用してUTF-8にする方がイイ。
php.iniの設定でoutput時のエンコードはどうにでもできるからね。


465NAME IS NULL:03/12/31 11:29 ID:???
>>464
SJISよりEUCが良いのは何故?
466464:03/12/31 15:10 ID:???
>>465
趣味の部分に突っ込まんといて。
MySQLとPHP以外にサーバ全体もメンテせなあかんときにはいろいろあるんよ。
Windowsサーバ使ってたり、現状でSJISで何も困ってなかったら聞き流して。
467NAME IS NULL:03/12/31 20:54 ID:Ighzw+Mv
not null 属性のフィールドにnullが入れられたら自動的に0に変えられますよね。
こんな感じで、nullが入力されたら”ウマー”って自動的に変えたいんですけど出来ますかね?
最初default "ウマー"って指定すりゃ出来るかと思ったんですけど出来なかったんで。
468NAME IS NULL:04/01/01 02:27 ID:???
>467

mysql> select IFNULL(1,0);
-> 1
mysql> select IFNULL(NULL,10);
-> 10

だから

select IFNULL(対象のフィールド名,"ウマー");
469NAME IS NULL:04/01/02 21:41 ID:???
>>467
できましたよ?

mysql> create table t1 (a int, b varchar(20) not null default 'ウマー');
Query OK, 0 rows affected (0.14 sec)
mysql> insert into t1 (a) values (1);
Query OK, 1 row affected (0.01 sec)
mysql> select * from t1;
+------+--------+
| a | b |
+------+--------+
| 1 | ウマー |
+------+--------+
1 row in set (0.06 sec)
470NAME IS NULL:04/01/05 17:24 ID:???
MySQL良さそうだと思ってHP行ってみたら
バージョンがたくさんあって混乱してしまいました。

-------以下、ttp://www.mysql.gr.jp/ より引用--------

2003-12-25MySQL 5.0.0 リリース!
2003-12-18MySQL 4.0.17 リリース!
2003-12-5 MySQL 4.1.1 リリース!

-------ここまで---------

こういったリリースを行う背景というか文脈を
どなたか簡単でもいいので説明してもらえませんでしょうか。
よろしくお願いいたします。
471NAME IS NULL:04/01/05 19:09 ID:???
あぁん?
472NAME IS NULL:04/01/05 19:11 ID:???
いまのあなたが使うべきなのは
3.23.58
もしくは
4.0.17
です。
ttp://www.mysql.com/downloads/index.html

ほかのバージョンのことは、心配しなくていいです。
473NAME IS NULL:04/01/05 19:15 ID:???
>>470
ダウンロードのところに
MySQL 4.0 -- Production release (recommended)
MySQL 4.1 -- Alpha release (use this for new development)
MySQL 5.0 -- Development tree (use this for previewing and testing new features)
と簡単に書いてあるのだが?

バージョンの後ろに書いてあるのが、そのバージョンのステータスで
括弧内に書いてあるのが、そのバージョンの今の状態での主たる用途。
各バージョン、リビジョン毎の「リリース背景」はリリースドキュメントに書いてある。
また、どういったゴールを目指しているかは、そのtreeのスタートアップ時のリリースドキュメントに
大抵まとめてある。ドキュメントの内容が理解できなくてどれを選んで良いのか判らなければ
自分が参考にする本の記述のtreeの最新版を選択しておけば良かろう。
レンタルサーバで動かす予定があるなら、それに合わせておく。
474470:04/01/05 19:45 ID:???
>>472-473
レスありがとうございます。
確かにダウンロードのところに書いてありました。

ざっくり簡単にまとめてしまうと、

・MySQL 5.0 ・・・将来はこれがベースになりますよというアナウンスを
兼ねたリリース
・MySQL 4.1 ・・・開発者の人々が現在鋭意開発・改善中のバージョン

・純粋にMySQLの昨日を利用だけしたい奴は4.0を落しなさいということ
のようですね。

>>472さんのおっしゃるとおり、3.23というバージョンもありましたが
これはおそらく下位互換というような意味で残してあるのでしょうね。

さっそく4.0.17をダウンロードいたしました。
ありがとうございました。
475NAME IS NULL:04/01/05 22:45 ID:???
ここにカラッポのパソコンがあります。今風の性能があります。
これからLinuxをインストールしようとしているところです。

MySQL + tomcat でぶいぶい日本語を使いたいのですが、一番楽なディストリはずばりどれですか?
setupオプションでちょいちょいチェックするだけでOKみたいな。

(イマドキtomcatは標準パッケージだったりするのか?)
476NAME IS NULL:04/01/06 19:01 ID:???
NetBSD/cobaltでmysql3.23.xxを動かしたいのですが、
なにか情報を持ってる方はいませんか?
configureが全く終わる気配がないんですよー。
やっぱmips系はあきらめたほうがいいのかな。
477NAME IS NULL:04/01/08 00:01 ID:gR0R4cXZ
WindowsXP に mysql-4.1.1-alpha をインストールして、
examples\libmysqltest\mytest.c を
MinGW-3.1.0-1 の gcc でコンパイルしようとしたのですが、リンク時に

undefined reference to `mysql_init@4'

なエラーが出て完了できません。
コンパイラオプションは"-Ic:/mysql/include -Lc:/mysql/lib/opt -lmysql"です。

googleって探してみたところ、
-----
#include <mysql.h>
-----

-----
extern "C" {
#include
}
-----
として解決したケースもあるようですが、私の環境では駄目でした。
gcc でコンパイルすると"parse error"になってしまい、
g++ でコンパイルすると症状が変わりませんでした。

同じ環境でコンパイルできている方はいませんでしょうか?
47848*8:04/01/08 04:34 ID:3FQ9TQU5
Kさん 好循環  Aさん 悪循環   <日本> 完成版
 (健康体)  (喘息)

1.(天国・霊界が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K 変化なし    A 行動力、五感(嗅覚)が鈍り感性が変化する。

4.K&A 天国・霊界は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。
5.K 変化なし   A アトピーになる
6.K 正常な感性  A 外に出なくなりさらに異常な感性になる。
7.K 正常な人間   A 異常な人間(レッテル)
8.K&A 死  9.K&A      来世
10.K&A 天国・霊界は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。
11.K&A 天国・霊界が喘息であるかないかを決める 12.K 喘息でない  A 喘息である
13.K&A    1.に戻る
これは事実。広めようぜ
解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
アトピーも快癒に向かう。 目安としてグランドを10週くらい。
あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり
絶対に直す方法:
よく海外に行ってアトピーが治る話を聞くが、基本的に日本の中のことだけなので、
海外に行くとほとんどの場合体力をつけると治る。 日本の中であっても、体力をつ
けると治るはずだが、 様々な理由により、霊界の存在がばれてしまい、 この失態が明
るみになるので、治さないようにしている。よって、絶対にアトピーを治すには、 海外
に行き体力をつける。
http://life.2ch.net/test/read.cgi/atopi/1035703616/l50を参照
479NAME IS NULL:04/01/08 16:52 ID:???
オープンソースデータベースの人気上昇中
ttp://www.itmedia.co.jp/enterprise/0401/08/epn02.html
480NAME IS NULL:04/01/09 10:03 ID:SQZE/uWk
テーブル作っているんだけど、日付のつけ方がわからない。

+-------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+----------------+
| MN | tinyint(4) | | PRI | NULL | auto_increment |
中略
| MD1 | timestamp(14) | YES | | NULL | |
| MD2 | timestamp(14) | YES | | NULL | |
+-------+---------------+------+-----+---------+----------------+

 こういうのがあるわけだけど、MD1にはデータの更新日時が入る。
 でも、MD2にはデータを入力した日時をデフォルトで入れたいわけだ。

 テーブル作成時に default で sysdate() を入れられればいいんだけど、
できないでいるんだなぁ。こんな風に試した。

>alter table MOVIES MD2 timestamp default sysdate();

 どういう風にすればいいんだろうか?

> update MOVIES set MD2 = sysdate() where MN = 1;

 とかやればできるのはわかっているんだけど、insert の直後に update
するのもわずらわしい、って、そんなの違うだろと思うし。
481NAME IS NULL:04/01/09 14:36 ID:uHhNww+B
Mysql 3.23.58を文字コードはEUCで使っているんですが
例えば ヨシダ で検索をかけると
ニシムラとかニシダとか別のデータも表示されてしまいます。
ただ全てがおかしいのではなくて一部のキーワードに対しておかしくなります。

データの入力方法がおかしいのでしょうか・・・
482NAME IS NULL:04/01/09 15:08 ID:???
>>480 インサートは
insert into MOVIES(NM,MD1,MD2) values(1,null,null);
で、日付入りますけど。
関係ないが、primary keyにtinyint使うのって感心しないな。
必要ないように思えてもintかbigintのほうがいいよ。いつか変なこと起きるから。

>>481 charフィールドにbinary属性つけてみたらどうでしょう。
483NAME IS NULL:04/01/09 15:36 ID:SQZE/uWk
>482
どうもありがとうございます。

 えーと、MD1は更新があれば常に変わるわけだけど、MD2は一番はじめに
そのデータが作成された日時だけを入れたいんです。つまり、MD2は更新
されないようにしたいわけ。もちろん意識的に変更することはできるわけ
だけど。
 更新日時の入力を自動化するには、timestamp いいわけですが、MD2は
これではだめですよね?
 それで、 default で設定できるものがあるんじゃないかと疑っている
次第です。
 なんかないですか?
 
484481:04/01/09 16:01 ID:uHhNww+B
>>482
できました。ありがとうございました。

binary属性 勉強不足であまり意味がわからないのですが
要は大文字と小文字を区切らないので不具合を起こしてたということでしょうか。

また、他の文字フィールドに対してもbinary属性は付けておいた方がいいのかな?^^
485NAME IS NULL:04/01/09 16:31 ID:???
>>483 更新(update)時にはMD2は触らなきゃいいだけなんじゃないの?
486NAME IS NULL:04/01/09 16:43 ID:???
>484
MySQLは基本的に「英語」という言語しか知らないので、
char(文字)という概念は英文字にしか通用しないと考えておけばよい。
そこでbinary属性をつけることによって、文字じゃなくて
とある言語の「キャラクターコード」として扱ってくれと指定する。
487NAME IS NULL:04/01/09 17:12 ID:???
mysqlの本って、あんまり出てないようですが、お勧めの本ってありますか?
sqlより、mysqlの使い方とかが詳しく乗っているやつがいいです
488484:04/01/09 17:39 ID:uHhNww+B
>>486
なるほど。。
わかりやすい解説ありがとうございました^^
489NAME IS NULL:04/01/09 17:49 ID:???
>>484 でも LIKEで比較とかしない限りはBINARYつけなくても問題はないよ。
単に入れるだけとか、完全一致比較なら単なるcharでも問題は起きない。
490NAME IS NULL:04/01/09 18:37 ID:???
あ、完全一致比較でも微妙かもしれない。
比較するならbinaryつけたほうが無難ですね。
491NAME IS NULL:04/01/09 20:27 ID:jBDLSHzE
>>481
my.cnf で文字コード設定はujisになってますか?
入っているデータがEUCでも文字コード設定がされてないとダメじゃない?
492NAME IS NULL:04/01/10 02:50 ID:???
longtextのカラムでLIKE "%hogehoge%"とかやると、
全文検索にはならないよね?
先頭から何バイトまでとか、制限あるのかな?
マニュアルみても特に書いてなかったんだけど。
493NAME IS NULL:04/01/10 12:18 ID:BnP2i9Sb
>485

 データ更新時の操作は次のようにしています。

update JITEKI set MD1 = sysdate(),MS = "This is test mes." where MN =485;

 でも、結果的には常にMD1とMD2は同じ日時になってしまうんです。
494NAME IS NULL:04/01/10 12:35 ID:???
datetimeにしたら?
495NAME IS NULL:04/01/10 15:47 ID:???
>>493
timestamp のカラムが二つあるときは、最初のやつしか現在日時に更新されな
いという性質がある。(MySQLクックブック Vol1 レシピ5.33)

で、 update するときに MD1 も MD2 も触らないようにすれば MD1 だけが現
在日時に自動更新される。

493の場合は故意に sysdate() を使ったために、MD2 が自動更新の対象になった。
496NAME IS NULL:04/01/10 16:36 ID:???
>>493 あーごめん。datetimeだと勘違いしてた。timestampですね。
それだと自動更新されちゃいますね。

495さんのいうように、updateで更新されるカラム(timestampの一個目)は、
あえてなにもしない。最初に設定するカラム(timestampの二個目)は、
最初にnullを書き込む。 
でいいんじゃないでしょうか。
497NAME IS NULL:04/01/10 17:53 ID:DJnacX8F
mysql.exeで日本語が入力できないんです。
どうすればよいのでしょうか???
498NAME IS NULL:04/01/10 18:50 ID:???
>>487
MySQLクックブック
二分冊だがVOLUME2はまだ出てないかも
1だけ持ってるが激しくお勧め
499NAME IS NULL:04/01/10 19:29 ID:???
mysqlのデータベースでカウンタの値を管理したいんですが、
値のインクリメントと値の取得を一度に出来る方法はないんでしょうか?

update set count = count + 1 where ...
select count from ...

この二つを同時にできる方法。間に割り込まれると
同じ値が取得されたりするから。
使用環境は windows2000 + apache2.0 + mysql 4.0.13 + php 4 です。
500NAME IS NULL:04/01/10 20:22 ID:???
>>499 table lockするのが一番簡単だとおもう。
フラグのカラムつけてあれこれすることもできるが
たぶんtable lockのほうが速い
501NAME IS NULL:04/01/10 20:38 ID:???
>>500
なるほど。
mysqlのページで調べてみたらちゃんとSQLの構文にLOCK/UNLOCKって
いうのがあるのね。
ど素人の質問に答えてくれてありがと!
502NAME IS NULL:04/01/10 21:14 ID:DJnacX8F
mysqlのデータベースをウェブで参照するにはどうすればいいのでしょうか?
sqlデータベースをプロバイダのサーバにアップすることって可能なんでしょうか?
503NAME IS NULL:04/01/10 21:24 ID:lIfTZTWW
だれかヘルプキボンヌ。
デフォルトの文字コードを with --with-extra-charsets=complex
でコンパイルしていて、現在、いくつかのデータベースを
すでに作成中です。
この場合、文字コードをujis に変更しようと思ったら、
データベースに問題とか発生するのでしょうか?
504NAME IS NULL:04/01/10 22:28 ID:???
検索結果の表示順を決めるために、データ文字列中に含まれる検索
文字列の数を数えたいのですが、MySQL(3.23)で可能でしょうか?

「あなたのお仕事についておうかがいしますが、あなたのお仕事は...」
といったデータがTEXTで保存してあって、「仕事」で検索した時には、
「『仕事』がいくつあるか」(この場合は2)という数値でソートしたい
のです。

検索Webを作ってるのですが、いったんPerlとかPHPにデータ読み出さな
いと無理っぽいでしょうか?
505NAME IS NULL:04/01/10 22:39 ID:???
>>497
かねやんとかのGUIフロントエンドを使っては?
MySQLが、手でデータを打ち込むような用途に向いているとは、あまり、
思えませんが。

>>502
MySQLを使わせてくれるプロバイダでないと無理です。
(そんなプロバイダは少ない/あるけど料金高いはず)
506NAME IS NULL:04/01/10 22:43 ID:34wcE9mY
>495, 496
どうもありがとうございます。

 ご指摘どおり、一つ目を更新日時にしましたら、OKでした。

 んでですね、データをすべて消してあらためて CSV から load しなお
しました。
 するとですね、auto_increment を設定しているMNの値がどんどん増えて
いくんです。まあ、当然といえば当然か。
 これを初期化する方法はありますでしょうか?

 質問ばかりで恐縮ですが、もうひとつ。

 CSVデータをあらかじめ加工しておいたんですが、これがなかなか手間。足りな
い項目には「,,」を付け加えたり。
 加工せずに load する方法、つまりデータの順序を指定する方法はありますで
しょうか? load はこんな風にしました。

load data infle "../list.csv" into table JIICHI fields terminated by ",";

507NAME IS NULL:04/01/10 22:46 ID:34wcE9mY
>502

 ロリポップを見よ。

ttp://lolipop.jp/

 PHPとMySQL使えるんですよ。一月300円程度だけど。

508505:04/01/10 22:56 ID:???
>>507
ぎゃふん。
509NAME IS NULL:04/01/11 01:25 ID:???
>>506 tableをdropしてまたcreateすればauto_incrementは戻るんじゃないかな。
510NAME IS NULL:04/01/11 18:14 ID:ic1DxtB5
フィールド数25、レコード数1500のデータがエクセルにありまして、
これをMySQLのテーブルにしたいんですけど、
どうすればよいのでしょうか?
511NAME IS NULL:04/01/11 18:32 ID:???
>>510
1.テーブルのスキーマ(項目名と型)を決める
2.データベースとテーブルをcreateする
3.ExcelからCSVとして保存する
4.loadする

正規化とかはとりあえず気にスンナ

512NAME IS NULL:04/01/11 21:58 ID:???
CSVよりはタブ区切りTEXTのほうがいいと思うな。
CSVだと,が文字列にあるとおかしなことになる。
513NAME IS NULL:04/01/11 22:04 ID:ic1DxtB5
apache,mySQL,PHPを使って、
ブラウザでデータベースを検索することを考えてます。
(自分のPCに上記プログラムをすべてインストールします)

そこで質問なのですが、
ネットワークが繋がっていれば他のPCでも利用(検索)できますか?
自分のPCを立ち上げておけばOKですよね??
514NAME IS NULL:04/01/11 22:07 ID:???
>>513 apache入れてあるんだろ。ならできるよ。
っていうか、そのためにapacheとPHPでシステム組むんだろ。
515東芝不買運動:04/01/11 22:07 ID:rgclmQgG
片山鳥取県知事の精神を受け継ぎ、東芝不買運動を進めましょう。会長の要職にある人物が非民主的な会議の運営を行うのは許せません。
東芝クレーマー事件に見られるように消費者無視の会社でもあります。
http://hayari.at.infoseek.co.jp/
http://hayari.at.infoseek.co.jp/9.htm#T
東芝は世間を騒がす不祥事続き
東芝クレーマー事件(1999年)
東芝製PC欠陥訴訟(米国1999年)
片山県知事による不買運動(2003年6月)
東芝ショックによる東芝株下落(2003年7月)
http://members.at.infoseek.co.jp/hayari/
みんなどんどんいろんなスレに張りまくれ!
516NAME IS NULL:04/01/11 22:09 ID:???
>>511
>>512
ありがとうございます。
さっそくできました。
517NAME IS NULL:04/01/11 23:27 ID:???
インラインビューが使えないなんて
もうだめぽ
518NAME IS NULL:04/01/12 13:21 ID:???
Array型まだぁ〜
519NAME IS NULL:04/01/13 07:20 ID:???
>>518
何に使うんだそんなキモい型
520NAME IS NULL:04/01/13 09:53 ID:GqeGALgK
かねやんMySQLAdminをダウンロードして使おうと考えた。
しかし、接続できない。ユーザー名パスワードはMySQLで登録したもの
を入力。ホスト名は、IPアドレスとサーバホスト名をそれぞれ試した。
ポートは3306。省略したほうがいいのかもしれないと入れたり消したりした。
しかし接続できない。
もちろん、IEなどブラウザからはPHPで接続可能。Linuxさばなんだが、
TELNETでログインした後は普通にmysql -u asdfa -p とかで使える。
接続できないのは、何が考えられる?
521520:04/01/13 10:00 ID:GqeGALgK
おれ、520だけど。
libMysql.dll が悪いのかと思って、パッケージについていたサイズ140Kb
以外に、別途ダウンロードしたサイズ212Kbのものも試した。
だめだった。
522NAME IS NULL:04/01/13 18:31 ID:SNyg6NiP
MySQL Control-Centerの日本語言語パックというのがあると
雑誌に出てたのですが、検索してもヒットせず何所にあるのかわかりません。
ご存知の方いらっしゃいませんでしょうか?
523NAME IS NULL:04/01/13 22:43 ID:???
>>520
myodbcのライブラリとか必要なんじゃないの?
つみきもそうだけど、dllのヴァージョン違うと動かない。
ってか、MysqlCC使えばいいじゃん。日本語打てないけど。
かねやんとかいって名前もダサイし
524520:04/01/14 16:18 ID:9Z+e8Log
>523
教えてくれてどうもありがと。
 で、MySQL-CCもインストールしてみた。が、しかし使えなかった。
 それでも許可されないというメッセージがでるのだった。3306ポートは
ちゃんとあいているし(nmapで確認)、ほかの何かポイントはあるかな?
 エラーコードは1130。
「Host 'hoge' is not allowed to connect to this MySQL server」
 あれこれ検索したんだけど、わからなかったのだった。
525520:04/01/14 16:44 ID:9Z+e8Log
ごめん、わかった。
このメッセージどおり、ホストネームを追加しておかないといけないんだ。
新しくユーザ登録をして、ホストネームの追加があったので行ったら、
すんなり接続した。俺が悪かった。
526NAME IS NULL:04/01/15 21:36 ID:80HolyYg
詰まっています。

1台のLinux上でJSPサーバ、MySQLを動かしているんですが、冗長化の必要が出て
きて JSPサーバとDBサーバを分離させようかと計画中です。
userテーブルへのアクセス権の設定はクリアしているとして、JDBCでコネクション
を張る引き数 "jdbc:mysql://localhost/...." を分離させる DBサーバのIPアドレ
スに(例えば "jdbc:mysql://192.168.x.x/....")と変更するだけで動いちゃうもの
なのでしょうか?

先ほどからテストしているのですが、

java.sql.SQLException: Invalid authorization specification:
Access denied for user:

が出てしまいます。
(userテーブルへのアクセス権の設定がクリアされてないのかなぁ?)

MySQL 3.23、JDK1.41 です。

何か情報ありましたら。よろしくです。
527526:04/01/15 22:04 ID:80HolyYg
>>526
自己解決しました。
やっぱ、mysql user テーブルでした。
単純なIPミスです。
お騒がせしましたぁ。
528NAME IS NULL:04/01/15 22:26 ID:lej+LunJ
http://homepage2.nifty.com/save_me/ginoran/
こっちの方がきゃわいい
529NAME IS NULL:04/01/16 15:35 ID:???
質問ですがinnodbは行ロックでmyisamは表ロックとなってますが、
違いがわかりません。
LOCK TABLESコマンドはテーブルしか指定できないし。
MySQLの行ロック、表ロックってなんですか。
530NAME IS NULL:04/01/16 20:24 ID:???
>>529
なら他のDBはどのように行ロックかける、もしくはかかると思う?
531NAME IS NULL:04/01/16 23:19 ID:???
ポスグレしか知らないんですが、ポスグレだと
LOCKモードにROW SHAREとかROW EXCLUSIVEとか設定できます。


MySQLのinnodbの行ロックって、トランザクションの隔離と関連ありますか?
532NAME IS NULL:04/01/16 23:58 ID:???
RedHat9にソースから入れた人!
コツがあったら教えてください。
なんかgcc2.95だと良いらしいんだけど・・・・
533NAME IS NULL:04/01/17 01:19 ID:???
>>531 myisamにはトランザクションがない。
でも、それだけ不要なロックがないので
速度が速いのよ。
selectとinsertが主用途ならmyisamいいよ。
534NAME IS NULL:04/01/17 12:47 ID:???
>>531
ポスグレのTABLE LOCKの話だよな、それって。
ポスグレで明示的に行ロックかけるにはどうする?
535NAME IS NULL:04/01/17 13:01 ID:???
>> 534
つまり、質問というのはロックの粒度についてなのではないか。
POSTGRESならロックレベルを7段階くらいだっけ、指定できて
それらが競合しない限りロックを設定できる。
そのときの粒度はレコード(行)、つまり内部的に行毎にロックを
かけることができているし、それを実感できる。

MySQLはInnoDBとBDBが内部的に行ロックを実装しているのは事実だが、
それがはっきりと分かるような例を見つけるのは難しい。
なにかある?
536NAME IS NULL:04/01/17 15:09 ID:???
質問者はロックの粒度とトランザクションのisolation levelを混同してると思われ。
537NAME IS NULL:04/01/18 15:03 ID:uEdULsoD
あるテーブルのすべてのフィールドに対して検索をかける場合は
どうしたらいいのでしょうか?

select * from テーブル名 where * like '検索文字列'
これではダメでした。
538NAME IS NULL:04/01/18 15:45 ID:uEdULsoD
selectで抽出したデータをcsvにダウンロードするには
どうしたらいいのでしょうか?
539 ◆ARQ3/knKfg :04/01/18 17:25 ID:rLxnZ9Vv
環境は Windows + Apache 2.0.48 + PHP/4.3.4 + MySQL 5.0 です。
データベースの勉強用にと、本を見ながらMySQLをインストールしました。

PHPから、mysqlにconnectするときに

PHP Warning: mysql_connect(): Client does not support authentication protocol
requested by server; consider upgrading MySQL client in スクリプトのパス.php on line 3

という警告が出て接続できません。
使用するスクリプトの3行目は

$con = mysql_connect("localhost","php","php");

となっています。どなたか、解決策を教えていただけませんか?
情報が不足していましたら、ご指摘下さい。
540539 ◆ARQ3/knKfg :04/01/18 17:57 ID:???
MySQL 4.0.17にしたらできますた。

あぁ〜これで半日潰れた。_| ̄|○
541NAME IS NULL:04/01/18 18:03 ID:???
>>537 フィールド名全部検索条件指定してorでならべる。

>>538
SELECT ... INTO OUTFILE 'file_name' 使う。
あるいは、
echo 'select ..... ' | mysql dbname
とシェルで打ち込むとtab区切り形式で出てくるので
Excelに入れてcsv。

>>539 とりあえず5.0つかうのやめれ。あれはテスト用だ。
542NAME IS NULL:04/01/18 21:58 ID:uEdULsoD
select * from テーブル名
↑で全部のフィールドを表示しますが、
あるフィールド以外全部というのはどのように指定するのでしょうか?
543NAME IS NULL:04/01/18 23:42 ID:???
>>542 あるフィールド以外ぜんぶ並べて書く
544NAME IS NULL:04/01/19 10:31 ID:???
【ゴールデンボール】
このレスを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください。
そうすれば14日後に立派なゴールデンボールになってます。
好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です
俺もはります。
545NAME IS NULL:04/01/19 11:49 ID:???
> 質問者はロックの粒度とトランザクションのisolation levelを混同してると思われ。

質問者ですが、混同しているわけではありません。

> MySQLはInnoDBとBDBが内部的に行ロックを実装しているのは事実だが、
> それがはっきりと分かるような例を見つけるのは難しい。

まさにこういうことなのですが、分かりやすい例はないのでしょうか。
546NAME IS NULL:04/01/19 13:56 ID:???
>>545
>はっきりと分かるような例
とは何を示せば分かったことになるのかいまいち分からない。
ポスグレでいいからどの機能を指すわけ?
547NAME IS NULL:04/01/19 18:58 ID:lIKV0uA8
csvファイルをデータベースにインポートする時、
あるフィールドはすべてデータが入っていないため、
nullとしたいのですが、どうしたらいいでしょうか?

''←これではnullは入らないようです。
548NAME IS NULL:04/01/19 19:14 ID:???
>>547
UPDATE table SET field=NULL WHERE field='';
549NAME IS NULL:04/01/19 19:56 ID:???
>>548
サンキュウ
550NAME IS NULL:04/01/19 22:38 ID:???
>>545 2スレッドでトランザクション書いてみればわかるんじゃないの。
テーブルロックだとロックでもう一方も止まっちゃうから。
551NAME IS NULL:04/01/20 11:40 ID:xZEEOmlG
教えてください。
ユニークなフィールドは auto_incrementで定義されたIDだけでその他は何が
入るか解らないテーブルがあるのですが、レコードを追加した直後にそのレコー
ドの auto_increment値を知る方法はないでしょうか?
552NAME IS NULL:04/01/20 12:50 ID:???
>>551
ここらへん。
mysql_insert_id()
LAST_INSERT_ID()
553NAME IS NULL:04/01/20 12:53 ID:vEEDGO/W
>>551
LAST_INSERT_ID で分かりますよ
554551:04/01/20 13:16 ID:xZEEOmlG
>552-553
おお!ありがとうです。
できましたぁ!
555NAME IS NULL:04/01/20 17:15 ID:/YZmz9BF
abcと言うフィールドへ文字列を追加したいのですが、
上手く追加でき無いので教えて下さい。

update table1 set abc = abc + "aiueo";

このSQL文で、
エラーは起こらないのですがaiueoがabcへ追加されません。
abcのデータ型はtextで、デフォルトはNULLです。
色々と試して見たのですが、ダメでした。
どうすれば文字列が追加出来ますか?

宜しくお願いします。
556NAME IS NULL:04/01/20 17:28 ID:???
>>555
その色々試した何かを書いてみ。
557NAME IS NULL:04/01/20 17:48 ID:???
>>555
CONCAT(abc, 'aiueo')
558NAME IS NULL:04/01/20 17:52 ID:???
>>556
abc = "aiueo" + abc
abc = abc."aiueo"
abc = abc,"aiueo"
abc + "aiueo"

などです。色々やった為全ては覚えていません。
後は、
PHPと併用しているのですが
このSQLの前にabcの値をselectで取得してから
その値に"aiueo"を足してからupdate table1 set abc = "PHPで編集したデータ"
としました。
しかし出来ませんでした。(かなり効率の悪いやり方ですし)
559NAME IS NULL:04/01/20 17:58 ID:???
>>557
できました!!
ありがとうございました。
560NAME IS NULL:04/01/20 21:54 ID:???
ここで聞く質問からちょっとズレるかもしれんのですが、C#とMySQLで遊んでて
いつもコマンドラインからあらかじめCREATE DATABASE ??????とかってやって
データベースを作っておいた上で、ファイルDSNを作成しておいたやつを
プログラムから利用しているんですが、C#に限らずデータベースの新規生成
ってのはコマンドラインで生成するしか手がないんですか?
イメージ的にはC#アプリケーションから新規にデータベース生成してそれを
利用するようにしたいんですが・・・
もしかしてこーゆうのはできない??
561NAME IS NULL:04/01/20 22:38 ID:???
>>560 普通のやり方でできるかどうかはしらないけど、
MySQLのポートにクエリを流し込めばできるよ。
562NAME IS NULL:04/01/21 05:01 ID:???
>>560
簡単にできたら怖いけどな。
「運用中に動的にデータベースを生成してくれ」とか言われかねない。
563NAME IS NULL:04/01/21 08:54 ID:???
MySQLのフィールドの型にファイルを直接格納できるようなバイナリ型ってのは
ありますか?
画像を直接データベースに格納したいのですが、可能ならどれぐらいのファイルサイズ
まで扱えるんでしょうか
564NAME IS NULL:04/01/21 09:05 ID:???
半分自己解決?LONGBLOB型がそうなのかな?
でも定義した後にどうやってファイル突っ込むのかわからんです。
SQL例文ぷりーず!えろいひとおながい。
565NAME IS NULL:04/01/21 10:59 ID:v8jvkKny
MySQLの文字列フィールドに
'c:\mydata\myphoto'
という文字列を入れたいのですが、¥が入りません。
スラッシュを使わずに、あくまで¥マークで対処するにはどうすれば良いでしょうか?
566NAME IS NULL:04/01/21 11:46 ID:???
567NAME IS NULL:04/01/21 11:59 ID:LSiYbCTx
>>565
\ は、\\ へとエスケープだな
568565:04/01/21 12:03 ID:???
>>566
http://pc2.2ch.net/test/read.cgi/tech/1074245277/211-212
向こうは、板違いでした。

>>567
レス、ありがとうございます。
\\と入れたら「かねやん」で確認すると
c:\\mydata\\myphoto
みたいになるのですが、問題ないのでしょうか?
569NAME IS NULL:04/01/21 12:11 ID:???
エスケープ関係が続くな。

>>564
MySQL Language Referenceの6.1.1文字列に
>バイナリデータを BLOB フィールドに挿入したい場合、
>次の文字をエスケープシーケンスで表す必要があります:
とある。
それが嫌なら、0x0011223344556677....
でも良い。
あとmax_allowed_packetも考慮すべき。

>>565
'c:\\mydata\\myphoto'
570NAME IS NULL:04/01/21 12:18 ID:???
>>568
その状態なら間違っている。
どの言語上でやっている?
jJDBCのPreparedStatementとかなら自動でエスケープしてくれるからなぁ。

かねやんで見たとき、'c:\mydata\myphoto'が正しい。
571568:04/01/21 12:41 ID:???
>>569
それでできました。ありがとうございました。
>>570
ごめんなさい。勘違いしていました。
ちゃんとできました。ありがとうございます。
572NAME IS NULL:04/01/22 01:22 ID:???
MySQLクックブック( ゚д゚)ホスィ・・・
今日本屋に行ったけど田舎だから売ってなかったよ
573NAME IS NULL:04/01/22 08:38 ID:???
VOLUME2は今月の27日に発売されるらしいね
ホスィけど高い
574NAME IS NULL:04/01/22 09:23 ID:???
クックブック購入して一通り目を通したんだが、なんか分厚さのわりに
内容が薄い・・・個々の事例に対してPerl、PHP、Python、Javaでの
例示があるせいで「どの開発者でも対応できる。けど内容薄い」って
印象です。
難しそうでとっつきにくい印象だけど実際には初心者向けの本だと
思いますね。
Vol2に期待してまふ。

あ、これからMySQLはじめようって人には最適な本だと思いますよ。
LinuxでもWindowsでも問題ないように書かれてるし、上に書いた
4言語を網羅してるし。
インストール&セットアップの情報が付録として巻末にまとめてあって
便利です。
値段は高いけど入門書としてはオススメ。
575NAME IS NULL:04/01/22 14:14 ID:???
PHPクックブックマダー(AAry





って板違いか。
576NAME IS NULL:04/01/22 18:49 ID:???
最近、「標準MySQL(SOFTBANK)」
でMySQLを触り始めたけど、分かりやすくていい。
窓も犬もOK
PHPとJSPについてがメイン。
Perl、ASPは触りだけって言う感じ。
MySQL,Apacheのインストール法、各プログラミング言語環境の構築法から
のっていて初心者も安心

俺はPerl+DBIなので、ソースコードは参考にならんかったが
それでも満足できる。

特に関数一覧やコマンドリファレンスが見易い。

なんか信者みたいだが、全体的に参照しやすい構成だったと思う。
俺はこの本+本家のドキュメント見ながらやってます。
577NAME IS NULL:04/01/22 19:55 ID:???
>>572
amazon, bk1, 紀伊国屋 いくらでもネットで買えるだろうが
糞ボッコが
578NAME IS NULL:04/01/23 21:03 ID:???
テレビにニュース速報が入る。
俺は慌ててパソコンを立ち上げ、そして気付く。
「あぁ、2chは閉鎖したんだっけ……」
テレビからは現場の慌しい状況が伝わってくる。
もし2chがあったら、どういうスレが立っているのだろう。
重複スレが沢山できて、それで荒らしとかやってきて……
テレビでは相変わらず、レポーターが必死で現場の状況を伝えている。
可愛いレポーターだ。俺は、頭の中で「萌え〜」というレスを
つけている自分を想像した。
後ろの群集がテレビに向かって挑発的なポーズを取っている。
「なんだ、あのドキュソ」「厨房氏ね」……
俺はたまらなくなり、無いとは分かっていながら再び2chにアクセスした。
しかし、画面には一言「閉鎖したのです。。。」とだけしか表示されない。
何度リロードしても変わらない。あの日以来、2chは止まったのだ。
どうやら犯人が逮捕されたようだ。相変わらず可愛いレポーターが
その状況を伝えている。
「さよなら、にちゃんねる」
俺はお気に入りから2chを削除し、そして騒がしいニュースを涙目で
見るのであった。
579NAME IS NULL:04/01/23 23:40 ID:???
しばらくMySQLを使わない予定なので、
MySQLadminの自動起動を解除したいのですがどうすればよいでしょうか?
580NAME IS NULL:04/01/24 03:20 ID:???
Winの場合はスタートアップから消すだけでいいが
Linuxは知らんのでほかの回答者を待つ
581NAME IS NULL:04/01/24 13:22 ID:???
これだからWin用つかうやつは・・・
582NAME IS NULL:04/01/24 13:41 ID:???
排他的な考えの香具師多いな
583NAME IS NULL:04/01/24 15:39 ID:hSeNjxli
フィールドのタイプを変更するにはどうしたらいいのでしょうか?
varchar(60)をvarchar(120)にしたいのですが。
584NAME IS NULL:04/01/24 16:41 ID:???
>>583

mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;

詳しくはマニュアルを
http://www.mysql.gr.jp/jpdoc/

ver.3.23のALTER TABLEについては
http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Reference.html#ALTER_TABLE
585NAME IS NULL:04/01/24 19:47 ID:???
>>584
ありがとうございました。
586NAME IS NULL:04/01/26 14:25 ID:???
insert文を使うとき、

insert TABLE名 set COLUMN名='内容'

みたいにupdate文形式でも使えてしまうんですが、この文体で書いても問題ないんですか?
587NAME IS NULL:04/01/26 14:29 ID:???
>>586
問題ない。

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name
SET col_name=expression, col_name=expression, ...

588NAME IS NULL:04/01/26 14:35 ID:???
>>587
即答ありがとうございました
589NAME IS NULL:04/01/27 22:55 ID:???
WinXP Apache1.3.28 + PHP4.3.4 + MySQL4.0.17でホームサーバー構築したんですが、
PHPは正常に動くんですがMySQLに接続できません。
mysqlはD:/mysqlにインストールし、sysENVにD:\mysql\bin\を設定し、my.iniのデフォルト(C:\mysql、C:\mysql\data\)ドライブをDにして
mysqladminでは青信号で、コマンドラインからテーブル操作、ユーザー操作など全てできるんですが、
何故かPHPから接続できません。
phpmyadminを起動すると、Can't connect to MySQL server on 'localhost' (10061)
という典型的なエラーが出ます。(勿論青信号の状態で)
いろんなサイトを参照しましたが、同じ通りにやっても出来ません。同じプラットフォームで運用されている方、どうかご教授願います。
590NAME IS NULL:04/01/28 00:54 ID:mKy/8tCr
ODBCの設定ができなくて困っています。
ODBC(システムDSN)の設定画面でTest Data Sourceを押すと、
Client does not support authentication protocol requested by server.
consider upgrading MySQL client
というアラート画面が出てしまいます。

環境はWinXP pro/MySQL-4.1.1/MyODBC-3.51.06です。
どうぞ、よろしくお願い致します。
591NAME IS NULL:04/01/28 01:04 ID:???
>>589
PHPからの接続ユーザ&パスワードの部分のように思える。
コマンドラインで確実に使えるアカウントをPHP側に設定しているか、
PHPからMySQLへの接続設定をちゃんと確認してみそ。
"本当に設定として読み込まれている"php.iniと
phpスクリプト(この場合はphpmyadmin)の2箇所。

phpスクリプトはもっと適当なスクリプトで、アカウント情報を
ベタ書きしてチェックする方が良いと思うけど。
592NAME IS NULL:04/01/28 15:02 ID:???
あるユーザー登録型の大規模掲示板をPHP+MySQLで
作成してもらったのですが、設置しているうちにかなり欠点があることがわかりました。
細かいところを挙げればきりがないのですが、もっとも気になったのは
投稿者と管理人に記事が投稿されたと言うメールが来ないという事です。
(もちろん、発注前に相談しました)

その制作者とは上記のとおり、いい加減なため契約を解除したので
修正してもらう事ができません。なので外注を考えています。

話が長くなりましたが、こういう場合の修正+追加機能を付ける作業と言うのは
MySQLを扱う方々からみて容易なのでしょうか?それとも他人が作ったのは
余計に時間がかかるのでしょうか?発注の目安にするのでアドバイス
いただければと思います。
593NAME IS NULL:04/01/28 16:08 ID:???
そのスクリプトの設計しだいだけど、
他人が作ったものをいじるのは面倒なことが多い。
メール送信くらいなら、難しくないけど。
MySQLというよりPHPの話だね。
594NAME IS NULL:04/01/28 16:11 ID:???
MySQLでBCPって使えます??
595NAME IS NULL:04/01/28 20:05 ID:???
>>591
>"本当に読み込まれている"
というのはC:\WINDOWS\php.iniのことでよろしいのでしょうか。
このiniはどこの説明サイトにも、デフォルト状態でMySQLに接続できるとあったので
最低限のカスタマイズしかしてません。(モジュール,Docroot等)
phpmyadminの場合、MySQLサーバーに接続してから弾かれるのではなくコネクション自体が出来てないと思うので、
どのphpからmysqlを呼び出してもおそらくこのエラーが出ます。。
現に違うphpからmysqlを呼んでも同様のエラー(接続不可)がでます。
WinMySQLAdminでmy.iniを参照しましたが、特に解説サイトと異なる環境でもなく、設定も間違ってはいないと思うんですが。。
596NAME IS NULL:04/01/29 01:59 ID:???
MySQLってどれくらい速いの?
597NAME IS NULL:04/01/29 02:13 ID:???
>>595
変な常駐ソフト使ってたりしない?
まぁローカルホストへの接続を落とすようなソフトはないと思うけど。
598NAME IS NULL:04/01/29 02:58 ID:???
>>595
>というのはC:\WINDOWS\php.iniのことでよろしいのでしょうか。
PHPの読み出しの優先順位や、あなたの環境に依存する話なので
実際にphpinfo()で見て確認してください。思い込みが一番厄介。
そしてついでに表示されるMySQL関係の設定部分の値もコピペしてください。
あとMySQLのstatusコマンドでConnectionの欄がどういう値になっているか
教えてください。何もしないでmysqladminで繋がっているようので、
Windowsの場合のデフォルト(Port#3306経由)だと思いますけど、一応。
599NAME IS NULL:04/01/29 10:53 ID:???
>597
サーバー用途以外の常駐は一切ありません。(mysqladmin,mysqld-max-nt,apache)ファイアーウォールはルーターでやってます。
>598
phpinfo()より、
Configuration File (php.ini) Path C:\WINDOWS\php.ini
extension_dir D:/php/extensions D:/php/extensions
include_path .;D:\php\includes .;D:\php\includes
PATH C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS\;C:\WINDOWS\COMMAND\;C:\WINDOWS;C:\WINDOWS\system32\WBEM;D:\mysql\bin;D:\php
phpinfo内mysql欄
Active Persistent Links 0
Active Links 0
Client API version 3.23.49
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
お手数お掛けしますがお願いいたします。。
600NAME IS NULL:04/01/29 13:38 ID:???
>>599
特にPHPの設定で「変な値」に上書きされてるってことも無いようですね。
じゃあ純粋にPHPのスクリプトで指定しているMySQLのアカウントかな。
PHPで指定しているMySQLのアカウントとパスワードの組み合わせって、
コマンドコンソール上で「mysql -u MySQLのアカウント -p [ENTER]」として
「Enter password:」となったときに入力して、接続できるパスワードとの組と
本当に相違ありませんか。

間違っていなければ、次は、phpmyadminよりも簡単なスクリプトでチェックしてみましょうかね。
601NAME IS NULL:04/01/29 18:26 ID:???
>>600
度重なる適切なアドバイスありがとうございました。
改めて設定がおかしい場所を挙げて虱潰しに試したところようやくphpでの接続が出来ました。
本当に有難う御座いました!
原因?と思われる所の修正箇所は、SQLのmy.ini内#bind-address=192.168.1.2(インスコ時デフォルト)
を#bind-address=127.0.0.1に、XPのコンピュータ名をオリジナルから、LOCALHOSTに。以上です。
my.iniの#は恐らくコメント扱い(?)だけど関係無さそうですかね。。だとするとコンピュータ名に問題があったのかも?しれません。
いずれにせよ、正常にMySQLを稼動させる事が出来ました。
今度は逆に出来る限りサポート出来る様にマスターします(つД`)本当に有難う!
602NAME IS NULL:04/01/29 21:52 ID:???
EUC-JPのデータと、S-JIS のデータ、同じサーバ上に保存しても問題ない?
603NAME IS NULL:04/01/29 22:58 ID:???
>>602
問題ない。ただし表示する側でいちいち変換しないとダメなので混在は薦められない。
MySQL上のデータであればエクスポート操作するときに文字コード変換が出来るので
一度データベースごとSQLファイルにエクスポートして、再度データベースを登録すれば文字コードが統一される。
なるべく統一することを薦める。
604NAME IS NULL:04/01/30 00:32 ID:???
>>601
益々原因が判らん。
・bind-address→コメントになっているので関係ない
・Windowsのコンピュータ名をLOCALHOSTに
元々Win-XPでも、"localhost"の名で127.0.0.1のループバック
アドレスにアタッチされているので、通常は最初から名前が引ける筈。

Windowsのコンピュータ名を変えて、localhostが引けるようになった
ということは、localhostの名前解決にDNSじゃなくて、次善のWindowsコンピュータ名
による名前解決がされているということ。
http://www.rtpro.yamaha.co.jp/RT/FAQ/Windows/Windows2000.html#notes-4
の2番目と同じようなシチュエーションなのかな。コンピュータ名の変更じゃなくて
ちゃんとDNSサーバかWindows-XPのhostファイルで静的に設定し直した方が良いと思う。
605604:04/01/30 00:35 ID:???
下で「DNSサーバに登録」といってるのはローカルにDNSサーバを
立ててればの場合で、外部のDNSサーバを使っているのなら、hostsで指定。
606604:04/01/30 00:57 ID:???
それ以前にブラウザからlocalhostのApacheを指定したときは
DNSで引けてるのか…つまりDNSで名前解決してる。
ごめん、原因が推測できない。
607NAME IS NULL:04/01/30 07:47 ID:xXOAnU3q
MySQLの4.1、5.0を使ってる人感想お願いします。
608NAME IS NULL:04/01/30 10:17 ID:???
>>607
「おっ、4.1 だ。」
609NAME IS NULL:04/01/30 11:07 ID:???
>>607
「うへー 5.0 だ。」
610NAME IS NULL:04/01/30 14:00 ID:???
スパマーだと知ると、全く助ける気にならんね。
http://pc.2ch.net/test/read.cgi/unix/1071668153/398-406
611NAME IS NULL:04/01/30 19:53 ID:Jo0zL4j+
5.0の安定版がでるのはいつの話になるんだろうか?2年後くらい?
612NAME IS NULL:04/01/31 12:28 ID:???
クックブック1、2買ッタ━━(゚∀゚)━━!!
ついでにデスクトップリファレンスも買っちゃったけどこれはいらなかったな。
613Nori:04/01/31 19:58 ID:8IvlYtoB
614Nori:04/01/31 20:00 ID:8IvlYtoB
>>613

失礼!!
522さんでした。
615NAME IS NULL:04/02/01 01:00 ID:???
最近PHP+MySQLに目覚めて掲示板を作ってみたりして遊んでいる初心者です。
いろいろやってみたくなって画像貼り付けできるようにしようとしたんですが
最初はPHPでファイル受信部かいてディレクトリに適当に放り込んで
ファイル名をMySQLで管理してHTML生成時にファイル名を埋め込んで
表示させていたんですが、MySQLのフィールドに直接画像情報を格納することは
できないんでしょうか?
妄想でいったんサーバにテンポラリ受信しておいてそのファイルを
SQL命令で取り込めるんじゃないかとおもってマニュアルと格闘したのですが
それらしきものが見つからなくて;;

MySQLの先輩方、フィールドに直接ファイルをバイナリ格納するための
SQL文を教えてくださいまし。おながいします。
616NAME IS NULL:04/02/01 02:20 ID:???
617NAME IS NULL:04/02/01 02:39 ID:gVnaH4Br
どうしても、4.1を使いたいのですが、
どうやってインストールすれば良いのでしょうか?
setup.exeがないのですが・・・
618615:04/02/01 02:58 ID:???
>616
ええとそこまでは調べたんですが、具体的にどうやれば良いのか見当がつかなくて;;
たとえばimagelistデータベースにLONGBLOB型のimagefileフィールドがあるときには

INSERT INTO imagelist (imagefile) VALUES (ファイルパス);

とすれば良いのでしょうか?なにか良いサンプルソースとかあれば
教えてください・・・
619NAME IS NULL:04/02/01 03:38 ID:z2QFx6ei
>>617
窓版が良いの?
UNIX版じゃ駄目かな。
620NAME IS NULL:04/02/01 03:59 ID:???
>>618
base64エンコードすると文字列で扱えるので楽。
ただ、サイズが4/3倍になる
621NAME IS NULL:04/02/01 03:59 ID:gVnaH4Br
>>619
すみません。窓版でお願いします。
622NAME IS NULL:04/02/01 04:32 ID:???
>>621
cygwin 入れて make すれば?
623NAME IS NULL:04/02/01 09:29 ID:???
>>618
ファイルパスを直接指定するLOAD DATA INFILE文はテキストしか扱えないので、
何らかのスクリプト内でファイルを開いて読み込んで、INSERT文で値を投げ込むだけですよ。
INSERTの構文はあらゆるところで見つかるので、ちゃんと調べましょ。
サンプルソースっても…それするだけだから。

import MySQLdb
conn = MySQLdb.connect(host="localhost",
user="root", passwd="pass", db="test")
cursor = conn.cursor()
dat = file("file.bin", "rb").read()
cursor.execute("""INSERT INTO tbl_name
(file_data) VALUES (%s)""", (dat))
cursor.close()
conn.close()

な感じでよい?
624NAME IS NULL:04/02/01 12:13 ID:???
>>621
4.0はインストーラあり(mysql-4.0.17-win.zip)と
インストーラなし(mysql-4.0.17-win-noinstall.zip)が公開されています。
4.1はインストーラなし(mysql-4.1.1-alpha-win.zip)のみ公開されています。

SETUP.EXEを実行するのはインストーラありの場合です。
インストーラなしの場合は解凍すると直接MySQLディレクトリができます。
mysql-4.1.1-alphaという名前なのでmysqlにリネームしてください。
その下のbinフォルダにパスを通してください。
mysql\bin\winmysqladmin.exeでMySQLサービスが起動します。
625NAME IS NULL:04/02/01 14:51 ID:bRYMFPE6
>>624
ご回答ありがとうございます。
解決しました。
626NAME IS NULL:04/02/01 16:48 ID:???
>623
ありがとうございます。参考になります。
いろいろ試してみてなんとかデータベースに取り込めるようになりました。
ただコマンドラインからやっていてどうしても理解できなかったのが

>INSERT INTO images (fileimage) VALUES (LOAD_FILE('c:\\temp\\test.gif'));

このコマンドが何故か失敗してしまうんですが

>SET @tempbin = LOAD_FILE('c:\\temp\\test.gif');
>INSERT INTO images (fileimage) VALUES (@tempbin);

これだとちゃんと取り込めるようなんです。でも毎回SET文使うのもヘンな話だし、
どうしてできないのか不思議で試してるうちに徹夜になってしまった;;
627NAME IS NULL:04/02/01 22:33 ID:???
>>626
SQLの勉強しよーよ
628NAME IS NULL:04/02/01 23:11 ID:???
>>624
あ〜、すごい大人だ…

「"setup.exe"だぁ?」と読んだ途端にプルプルしてしまった漏れ、
大人気ない…_| ̄|○
629NAME IS NULL:04/02/02 13:01 ID:???
とりあえず(winに)入れてみたって人が、
ちょっと分からなくなったからって
ここに聞きにくる。ここはそういう場所。
630NAME IS NULL:04/02/03 18:40 ID:zCbpO9nh
RHLinux9+3.23.53
複数のMYSQLインスコしようとしてるんだが
mysqld_multiの使い方がマニュアル読んでもいまいち理解できないです

詳しく乗ってるページのURLか
手ほどきよろしく
631NAME IS NULL:04/02/03 19:27 ID:???
RH9に4.1.1入れてみたら、ktermから日本語が入れられません。
(by cannaもだめ, cut & ペーストもダメ)日本語は文字として受け取ってくれないで、
なんの変化も起こさない。

4.1.0では入れられたのに。

皆さん、4.1.1での日本語の入力、どうなってますか?
632NAME IS NULL:04/02/03 20:22 ID:eG+7xF1E
MySQLを社内のシステムとして使う場合と
お金どれくらいはらわなきゃならないの?
633NAME IS NULL:04/02/04 00:12 ID:RJ4QJV+9
MySQLでデータの更新を頻繁にした場合、データファイルが
壊れることってやっぱりあります?
634NAME IS NULL:04/02/04 00:35 ID:???
>>632
GPLではなく、コマーシャルライセンスを選択した場合は
http://www.softagency.co.jp/order/index.html
の金額。CPUの数には関係なく、PCの数でカウントなので判りやすい。

サーバで使うと非常に安価で、クライアント毎に使うと他のRDBMSも
視野に入ってくる感じの価格かな?サーバだろうがクライアントだろうが
同じ価格なので、1万以下の組み込み製品を作ろうと思うと辛い。
そういう向きには機能は少ないけど、数千円のDBもあるからね。
635634:04/02/04 00:55 ID:???
ああ、あと社内でシステム作って(構築)、社内で使うだけ(外販しない)なら
社内ルールをきちんと決めておけば、GPLのでも構わんと思うぞ。

ところで社内でGPLのシステム使ってて、社内規則で従業員に
「データを含まないシステムの持ち出しを禁止」や「ソースを見せない」
ってできるのかな?従業員を第三者ととらえると「再配布の禁止」や
「ソースを渡さない」にあたるから、GPL違反になりそうな感じもする。
GPLのFAQでの「法人内限定で使う場合」の雰囲気からすると、
むしろ「持ち出しを禁止」しないと、それ(法人内限定で使う)が
成立しない感じではあるが。
636DB太郎:04/02/04 01:06 ID:byvL/4O2
win32最新版のMYSQLを入れたんですが
同じくwin32のPostgreSQLに比べて
UPDATE速度が、かなりに遅いのですが。どなたか解決策を御存知ないでしょうか?
ちなみに設定項目は、両方ともデフォルトのままで
DBへのアクセスは、libpq.lib(PostgreSQL)とlibmysql.dll(MYSQL)を使ってます。

30000件のレコードのINSERT速度は、若干MYSQLの方が速いのですが
そのINSERTした全レコードの複数のフィールドに対して
UPDATEを実行すると、PostgreSQLの10倍くらいの時間がかかります。

最初はバッファ領域が足りないのかと、MYSQLのチューニングサイトを参考に
設定ファイルを色々変更したりしたんですが、あまり変りませんでした。
何かいい方法があれば、教えて頂けませんでしょうか?
よろしくお願いします。
637NAME IS NULL:04/02/04 01:42 ID:???
>>633
これで壊れたらDBMS失格だろ
HDDが壊れることはあるだろうがw
638NAME IS NULL:04/02/04 01:55 ID:???
>>636
使用しているDBは何ですか?(多分MyISAMかな)
アプリの作りをそのまま(どういう作りになっているかは知りませんが)
で、特に更新系の比重が大きいなら、取り合えずinnoDBを採用されては?

それにしてもポスグレの10倍とは「作りが最適化されてない」ような気が。
639NAME IS NULL:04/02/04 02:08 ID:???
>>636
バージョンは4.0.x?
それ以降は使わないほうが良いのでは?
640NAME IS NULL:04/02/04 02:12 ID:???
>>637
ファイルシステムに依存する話だと思うが。
(HDDが壊れることにあたるのかな)

FATで使ったとき、結構不具合でたよ。
myisamchk -rで直る程度の不整合だけど。
641NAME IS NULL:04/02/04 02:29 ID:???
>>632 上の人も書いてますが、自社内のみで使うんならGPLなら金払わないでいい
>>633 まともなファイルシステムならまず壊れないよ。
>>636 少なくともポスグレよりは速い。なんか間違ってるのでは?
642NAME IS NULL:04/02/04 03:14 ID:???
>>630
mysqld_multi自体はそんなに機能がある訳ではないので、
マニュアルの記述で充分と思うけど。具体的にマニュアルの「どこ」が判んないの?
どういう事をしたくて、どういう風に設定して、どういう風に上手くいかない?

日本語のマニュアルだけではなく、英語のマニュアルも読んでるかい。
http://www.mysql.com/doc/en/mysqld_multi.html
翻訳途中の中途半端なセクションは、きちんと元をあたった方が判りやすいぞ。
643NAME IS NULL:04/02/04 11:35 ID:???
>>636
非常に興味があります。
どんな設計か見せてもらえない?
644NAME IS NULL:04/02/04 16:08 ID:???
MySQLの使用しているディスクサイズを知る方法はないでしょうか。
できればデータベース単位で分かると幸いです。
645644:04/02/04 16:13 ID:???
すいません。
環境書くのを忘れてました。

Redhat9 + PHP4.3.4 + MySQL 3.23.58 を使用しています。
よろしくお願いします。

646NAME IS NULL:04/02/04 18:07 ID:???
>>644
普通にduすれば?
647NAME IS NULL:04/02/04 22:25 ID:H7awUCE+
1つのデーブルの最大レコード保存数はどれくらいでしょう?
現在、数万件のレコードを
8個のテーブルで分けて使用してますが
テーブル結合して柔軟な条件検索が出来ないので
1つのテーブル9万件のレコードを入れようと思っています
648NAME IS NULL:04/02/04 23:04 ID:???
>>647
いくらなんでもなめすぎ。
649NAME IS NULL:04/02/05 00:18 ID:???
>>647 1000万件ぐらいまでは普通に使える。
億超えてくるとちょっと遅いこともある。
もちろんインデックスちゃんとしてるときね。
650/dev/null:04/02/05 02:46 ID:0Z1nuTls
Google様を支えているMySQLのバージョンを教えて下さい。
651NAME IS NULL:04/02/05 02:54 ID:???
GoogleはMySQLなん?
652/dev/null:04/02/05 03:13 ID:0Z1nuTls
うん。どうも、あのGoogle様はmysqlば使いよるごたんって噂ばってんがほんなことやろうか?
653NAME IS NULL:04/02/05 07:43 ID:???
>>652
バージョンも知らんし、どういう箇所で使ってるか判らんけど
http://japan.cnet.com/news/ent/story/0,2000047623,20060821,00.htm
654NAME IS NULL:04/02/05 14:26 ID:???
本屋に寄ったらMySQL4.1の本が出ていました。
買ってきたばかりですが良本と判断したので紹介します。

『実践MySQL4』
http://www.sbpnet.jp/books/products/detail.asp?sku=4797326379
>MySQL4.1を対象とした管理者ガイド
>MySQL4から新たに装備された、
>トランザクションやサブクエリー機能などの新機能に焦点を当てて詳解しました。
>Javaによるサンプルコードも豊富に掲載し、
>MySQLの新たな可能性に迫るサーバ管理者向けの実用書です。

MySQL4.xの新機能を使いこなしたい人にお勧めです。
特にJava+MySQL4.1の組み合わせで使う人にぴったりです。
CとDelphiからMySQLにアクセスする方法もちょっと載っています。
PerlとPHPからのアクセスは扱われていません。
PHPで書かれたXOOPSについては付録で詳しく説明しています。
655NAME IS NULL:04/02/05 14:32 ID:Nhx4sbQ8
>>654

宣伝ご苦労様
買ってきたばかりで良本とわかるとはすごいね。
リンクはamazonに貼ったほうがバレにくいよ。
656NAME IS NULL:04/02/05 14:33 ID:???
>>654
そうだね。かなりまとまっていたと思う。
でもあれくらいの内容なら、買う必要がない。
これから覚える人にはいいんじゃないかな?
657NAME IS NULL:04/02/05 15:55 ID:???
>>654
目次晒せyo。ソフトバンクの書籍情報、駄目杉
「MySQL徹底入門」よりどの位深い?>JDBC

>>655
Amazonにはまだ登録されてないみたいだ象
658654:04/02/05 17:18 ID:???
>>657
「6-2 JavaでMySQL4.0/4.1の新機能を使う」にあたる物は
3年前の本である『MySQL徹底入門』にはありません。

『実践MySQL4』目次
1 MySQLの概要 1
2 インストールと設定 13
3 MySQLの管理 35
4 MySQLで使えるSQL文 81
5 MySQLを利用した開発 147
6 JavaでMySQLを利用する 169
A1 DelphiでMySQLを利用する 255
A2 XOOPSについて 281
A3 本書で取りあつかったコマンド 317

6章「JavaでMySQLを利用する」詳細
6-1 Javaを使ったMySQL操作 170
 6-1-1 JavaとRDBMS 170 / 6-1-2 MySQL JDBCドライバ 170
 6-1-3 MySQLの実行環境 174 / 6-1-4 Javaインストールから実行までの手順 177
 6-1-5 Connector/J JDBCドライバのインストール 179 / 6-1-6 MySQLサーバへの接続と切断 179
 6-1-7 更新系クエリの実行 183 / 6-1-8 参照系クエリの実行 186
 6-1-9 ResultSetを使ったDB更新処理 191 / 6-1-10 executeBatchの実行 199
 6-1-11 PreparedStatementを使った更新系クエリ 202
6-2 JavaでMySQL4.0/4.1の新機能を使う 207
 6-2-1 文字コード 207 / 6-2-2 外部キーの利用 212
 6-2-3 副問い合わせ(Sub Query)の利用 219 / 6-2-4 副問い合わせのネスト 227
 6-2-5 トランザクションの利用 231 / 6-2-6 トランザクション分離レベルの利用 235
6-3 バイナリーデータの入出力 238
 6-3-1 BLOBデータの挿入 238 / 6-3-2 BLOBデータの取り出し 242
6-4 日本語の取扱い 246
 6-4-1 日本語を表示させる 246
6-5 終わりに 253
659NAME IS NULL:04/02/05 17:24 ID:???
Win2k+MySQL4.1を使ってるんだけど
mysql \s
した時Client charactersetが「latin1」ってなってる。
sjisにできないの?
660NAME IS NULL:04/02/06 01:16 ID:???
MySQL本ってなんでJavaとかPHPの説明のほうが多いの?
半分以上apacheやPHPの説明と使えないWEBアプリの解説で、
MySQLについての説明が大味のものばかりだよな。

MySQLはバージョン毎にかなり違うし、オンラインドキュメントの翻訳もいまいちだから、
MySQLだけきちんとフォローした本があると重宝すると思うのだが。
661NAME IS NULL:04/02/06 01:28 ID:???
これで654=658が目次だけでなく、
原稿ごとさらしてくれるとありがたいんだが。
662NAME IS NULL:04/02/06 02:18 ID:???
いや、オンラインドキュメントで十分。
663NAME IS NULL:04/02/06 02:24 ID:???
オンラインドキュメントはなんでも書いてあるけど、
分かりにくい構成だよな。SQLも関数もバラバラに配置されてるし。
分量も半端じゃないから探すの大変。
664NAME IS NULL:04/02/06 08:20 ID:???
全部落としてgrepかけるかgoogleでサイト内検索すれ
665NAME IS NULL:04/02/06 11:14 ID:zEP3TBF5
DQNな質問で申し訳ありませんが、宜しくお願いします。

私が、在庫管理システムを販売したとします。
その在庫管理システムは、一つの事務所で使用するだけなら、
MySQLを使用しません。

しかし複数の事務所で使用する場合、

「私が開発したオープンソースのフリーソフトウェアを介してMySQLサーバーを使用します。」

つまり、MySQLを使っている部分のソフトウェアはフリーでオープンソースですが、
これだけでは何の役にも立ちません。

別途、有料で非オープンソースの在庫管理システムと組み合わせる事で初めて
存在意義があります。

このような場合、MySQLのライセンスを購入する必要はあるのでしょうか?
666NAME IS NULL:04/02/06 12:03 ID:???
>>665
貴方が開発するフリーソフトウェアはGPLですか?
そのフリーソフトウェアと在庫管理システムとはどのような手法で接続されますか?

MySQLのライセンスがサーバと接続ライブラリとで別で、
金額もライブラリは格安だったらあれこれ考える時間考えると
CMライセンス買えって言えるのにな。
667665:04/02/06 12:44 ID:???
>>666
レスありがとうございます。
フリーソフトの部分は改変自由、再配布自由、オープンソース、で問題ないので、
GPLと言えると思います。

このフリーソフトと在庫管理ソフトとはSocketを使用してメッセージのやり取りをします。
また、このフリーソフトは在庫管理ソフトが使っているDB(このDBは非公開)にアクセスして、
内容を解析し、それをMySQLのデータベースに書き込むという動作をします。

ライセンスを買う買わないという選択肢は顧客にあるので、私が決める事ができません。
無料のDBを使えば良いと顧客には言われていますが、私は今回の案件は
高速性を優先したいのでMySQLを使用したいと思っております。
668NAME IS NULL:04/02/06 14:02 ID:???
>> 664
マニュアル読めばわかることを質問してくる人が集うこのスレの存在意義は?
669NAME IS NULL:04/02/06 14:30 ID:???
>>667
先ず、件のフリーソフトと在庫管理ソフト間が、socket経由での
メッセージ通信ならば独立性が保たれていますので、
在庫管理ソフトにMySQL社関係のコード(MySQLサーバ及び接続ライブラリ)
が含まれていない限りMySQLのライセンスを必要としません。

次に直接MySQLに接続する、件のフリーソフトの方ですが
これがGPLであれば問題なくGPL版のMySQLサーバが使用できます。
GPLでないフリーソフトの場合にはコマーシャルライセンスが必要。
# 正確にはプログラム作りにもよる。例えばPHPでプログラムが組まれていて
# PHPのバンドルのmysqlライブラリの場合、GPLでなくても大丈夫だったりもする。

コマーシャルライセンスが必要な場合でも、OSIに準拠したオープンソースソフトであれば
費用が無料となるケースもあります。そうでなかった場合でもMySQLサーバ単位でライセンスを
購入するだけで済みます。個人的にはサーバ単位であれば予算的にも余り厳しくはないと
思いますし、GPLによる事務リスクや保証のことを考えると、コマーシャルライセンスを得た
MySQLサーバでサービスを提供した方が良いのではないかと思います。
#イメージ的にはASPの様なものを作るように思えるので。
670NAME IS NULL:04/02/06 14:42 ID:???
あ、あと
フリーソフトの全てがGPLなものではないですし、
オープンソースソフトの全てがフリーソフトではないです。
細かく言えば日本語の"フリーソフト"と、FSFで言うFreeSoftwareも違います。
GPL版のMySQLと"組み合わせ"られるのは"GPLのFreeSoftware"だけです。
#上の"組み合わせ"のは、GPLで謳われている意味でのこと。
671665:04/02/06 15:33 ID:???
>>669
>>670
非常に詳細な説明、本当にありがとうございます。
>GPLによる事務リスクや保証のことを考えると、コマーシャルライセンスを得た
>MySQLサーバでサービスを提供した方が良いのではないかと思います。
私もそう思います。

フリーソフトの件はかなり際どい判定になりそうなので、客を説得するか、
ダメならFireBardなどに乗り換える事を検討してみます。

失礼しました。
672:04/02/06 17:33 ID:BHjyE4Sx
今言われそう。
必死に仕様書から除外してる。
673:04/02/06 17:34 ID:???
誤爆しましたさようなら。
674NAME IS NULL:04/02/06 21:11 ID:???
センスのない誤爆だ
675630:04/02/06 22:05 ID:???
>642
英語マニュアル読んだら、一発解決でした。サンクスコ
日本語に訳してんの誰だよ・・・
676NAME IS NULL:04/02/07 13:14 ID:???
RH9でMySQL 4.1.1.をtarボールのソースをコンパイルしてインストールしましたが、
mysql_install_dbの実行で下のエラーがでます。
sqlスクリプトの構文エラーのようですが、
こんなことってあるんでしょうか?
インストール方法のどこかが悪いのでしょうか?


# ./bin/mysql_install_db
Installing all prepared tables
ERROR: 1064 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 '"REPLACE works exactly like INSERT, except that if an old\nrecord in the table h' at line 1
040207 12:57:26 Aborting

040207 12:57:26 /usr/local/mysql/libexec/mysqld: Shutdown Complete

./bin/mysql_install_db: line 274: 4139 パイプが切断されました cat $fill_help_tables
Installation of grant tables failed!

.....
677NAME IS NULL:04/02/07 14:37 ID:???
>>676
良く判らんが、mysql_create_system_tables.sh内で発生しているエラーっぽい。
古いMySQLの管理テーブルとか残ってない?
678676:04/02/07 14:44 ID:???
>古いMySQLの管理テーブルとか残ってない?

まっさらな状態でのインストールです。varディレクトリも新規作成されてます。
679676=678:04/02/07 20:19 ID:???
原因はshare/mysql/fill_help_tables.sqlで、
中のhelp_topicsテーブルへのinsertコマンドが4つくらいエラーを出してました。
運用には問題ないので、エラーを出すinsertコマンドを削除してmysql_install_dbを実行しました。

単純なバグっぽいし、OSやディストリビューションに依存するものでもなさそうですが、
どこにもバグ報告がないのが不思議。4.1.1を使ってる人いないのか?
680NAME IS NULL:04/02/07 20:27 ID:???
安定版の4.0.17を入れなさいってこった
681NAME IS NULL:04/02/08 02:32 ID:YRR/Exoo
PHP絡みなんでスレ違いかも知れませんが。

二つのクエリーをまとめて実行したいんですけど、どうも"error"が返されます。
方っぽだけ実行すると成功するんです。それをまとめちゃうとダメなんす…。
どなたか教えてください。

$sql = "INSERT INTO diary_comment VALUES('$myID','$name','$myID','$mail','$url','$comment','$target');";
$sql .= "UPDATE diary set db_comment=db_comment+1 WHERE id=$target;";
$newData = mysql_query($sql) or die ("error");
682NAME IS NULL:04/02/08 02:35 ID:YRR/Exoo
なんかIDかっちょいい
683NAME IS NULL:04/02/08 02:47 ID:???
mysql_query()は単一のクエリーしか実行できないのでは?

理由は実装上の制限だろうが、論理的に考えてもダメでしょ。
もしもINSERTコマンドが失敗したらUPDATEしていいの、それともダメなの?
こういったロジックはPHP側できちんと作り込まないとダメ。

ちなみに、他のDBMSならストアドプロシジャにするとかできるけどな。
684NAME IS NULL:04/02/08 08:59 ID:???
>> 683
メチャクチャ納得しました。ありがとうございます!
685NAME IS NULL:04/02/08 09:44 ID:???
>>679
使ってません4.1.1。4.1.0から結構変わってるので様子見
管理DBのhelp項目って、4.1.1から新規に追加されたんだよね。
人柱ってことで、ひとつバグレポートよろしく(笑
686NAME IS NULL:04/02/08 10:36 ID:hssIMXNc
MySQL ABはもう5.0に気が移っちゃっているようだし4.1.xはあんましバグフィックスする気がないのでは
687NAME IS NULL:04/02/08 11:52 ID:???
>>686
いやいや。4.1.0→4.1.1の変化をみると
「バグフィックス」じゃなくて「仕様変更(追加)」の気がアリアリですよ。
メンテナンスモードはどちらかというと4.0.xの方。
688NAME IS NULL:04/02/08 11:54 ID:???
5.0 の目玉ってVIEW?
689NAME IS NULL:04/02/08 13:04 ID:???
4.1系列と5.0系列を同時に開発している意味がよく分からんのですが、
どういうポリシーで開発やってるんですかMySQL ABは?
どこかに書いてますか?
690NAME IS NULL:04/02/08 19:34 ID:???
691NAME IS NULL:04/02/08 23:50 ID:???
4.1が副問い合わせ+UNICODE
5.0がストアドプロシジャ+トリガ
らしいけど。

しかし、5.0も副問い合わせ+UNICODEはサポートされるわけだし、
4.1が目指すGOALってどこ?
4.1のGOALは5.0なんじゃないの?なのに並列開発するのって何故なんだ。
ぜんぜんわからん。
692NAME IS NULL:04/02/08 23:55 ID:???
正直ストアドが実装されてないRDBMSは片手落ちだと思う。
5.0からが本番だろう。
693NAME IS NULL:04/02/09 00:00 ID:ACD/1njR
パッケージのインストールの際、依存チェックで引っかかりました。
メッセージにバージョンが書いてない場合、何をインストールすればいいのでしょうか?

環境と経過 
RedHatLunix7.3 に mysql をインストール
# rpm -ivh mysql-3.23.49-3.i386.rpm      完了
# rpm -ivh mysqlclient9-3.23.22-6.i386.rpm  完了
# rpm -ivh mysql-server-3.23.49-3.i386.rpm  完了
# rpm -ivh mysql-devel-3.23.49-3.i386.rpm   完了
http://tomo.no-ip.com/goodstream/server/mysql/linux/mysql73.html#MySQLのインストール

引っかかったパッケージ
# rpm -ivh MyODBC-2.50.39-4.i386.rpm

メッセージ
error: failed dependencies:
unixODBC is needed by MyODBC-2.50.39-4
libodbcinst.so.1 is needed by MyODBC-2.50.39-4

そこで検索
unixODBC と libodbcinst.so.1 

検索の結果
unixODBC が色々表示されて何が必要なのか不明?
i386でも PLD Linux Distribution とか A complete ODBC driver manager for Linux が有り、
バージョンも色々。.

参考:現時点でコマンド入力すると mysql は表示される。
> mysqlshow
+-----------+
| Databases |
+-----------+
| mysql |
| test |
+-----------+

宜しくお願いします。
694NAME IS NULL:04/02/09 05:16 ID:cyRUdfa2
悪いことは謂はん。Linuxなんて玩具は捨ててOpenBSDのportsを使ひなされ。
695NAME IS NULL:04/02/09 09:29 ID:???
>>691
だからポインタに示したページにも書いてあるやん。
MySQL5で予定している機能の内でも、顧客要望が非常に高い
機能についてMySQL4をベースにしたMySQL4.1を起こしたって。
GOALは「MySQL5よりも安定度の高い(だって5は全然まだまだ)、
MySQL4を使って、急かされてる機能を市場にすばやく提供すること」だよ。
あと元々MySQL4(4.0の頃)とMySQL5の開発は並行。
それがMySQL4(4.1+4.0メンテ)とMySQL5となっただけ。

例えがふさわしいかちょっと疑問が残るのだが、
Win9xとWinNTというプロジェクトがあって、安定したWin98SEを
ベースにWinXPの機能を先にWinMEで提供しましょう見たいな感じ。
# XPの基のWinNTはかなり先行してとか、WinMEはベースのWin98SEよりも
# 全然安定してなかったとか、そもそも顧客の要望してた機能じゃない
# ものばかりを盛り込んでたし等々は目をつぶれ。
696NAME IS NULL:04/02/09 09:39 ID:???
>> GOALは「MySQL5よりも安定度の高い(だって5は全然まだまだ)、
>> MySQL4を使って、急かされてる機能を市場にすばやく提供すること」だよ。

安定しないものを素早く提供されても.....誰も使わない。
697NAME IS NULL:04/02/09 10:01 ID:???
なんか>>696を見て涙が出てきた
698NAME IS NULL:04/02/09 10:02 ID:???
687 名前:NAME IS NULL :04/02/08 11:52 ID:???
>>686
いやいや。4.1.0→4.1.1の変化をみると
「バグフィックス」じゃなくて「仕様変更(追加)」の気がアリアリですよ。
メンテナンスモードはどちらかというと4.0.xの方。


4.1.0->4.1.1でもいろいろ仕様変更されてるし、
細かな部分ではreadline関連もいじられてるし、
DBとは全然関係ないhelpなんぞくっつけて且つBUGってるし。

>>MySQL5よりも安定度の高い
>>MySQL4を使って、

4.1.xが安定しているようにはとても思えん。
699NAME IS NULL:04/02/09 10:06 ID:???
ほんとは4.1系はもっと早く安定して4.0からすぐに4.1に移る予定だったんじゃないの。

でも予想外に手間取っている
(機能の実装そのものや、SAPなど商売関係にリソースを喰われたなど)
ので
今のような中と半端な状態におちいっているのでは。
700NAME IS NULL:04/02/09 11:26 ID:???
>4.1.xが安定しているようにはとても思えん。

ベースのMySQL4.0.xは酷くはないよ。
# 今客先に4.1.x入れる度胸があるかといえば、
# 度胸はあるがそんな無責任なことは出来ん。

MySQLがそういう羽目になっているのは、開発の不手際か
営業面での泣く泣くのリリースかしらんけど。
余計なものも「ついでに」と入れてる気は確かにある。
ペーパーをリリース側(営業)とモノをリリースする側(開発)で
すれ違ってるか、表と裏の考えがるのかもね。所謂技術知らない
経営者(発注者)に、アピールするのも大事だから。

とは言え、4.1.xはαリリースってこと忘れてないか?
701NAME IS NULL:04/02/09 15:43 ID:???
外部キーで接続されたテーブルを一括でupadteって出来ないんでしょうか?

各種情報テーブルが3つあって、関連付けられています。
更新されるたびに3つのテーブルを個別にupdateしております。
これだと微妙に効率悪いような・・・?

一応ぐぐったり書籍で調べたところ「MySQLにそのような機能は無い」と結論付けたのですが
702NAME IS NULL:04/02/09 15:51 ID:???
>> とは言え、4.1.xはαリリースってこと忘れてないか?

4.1も5.0もα。で並行開発中。なんだかなあ。
703NAME IS NULL:04/02/09 17:33 ID:???
>> すれ違ってるか、表と裏の考えがるのかもね。所謂技術知らない
>>経営者(発注者)に、アピールするのも大事だから。

MySQL ABの場合、
経営者=MySQL開発創始者
じゃなかった?

>> とは言え、4.1.xはαリリースってこと忘れてないか?

これ↑
と『5.0まで待てないユーザのために4.1を素早く投入』
とはまったく整合性の取れない話だな。
704NAME IS NULL:04/02/09 17:37 ID:???
>>701

4.0.8から、CREATE TABLEに"ON UPDATE CASCADE"を設定することができる。
705NAME IS NULL:04/02/09 20:21 ID:zxec2+Vx
>>703
その文で「経営者(発注者)」が指してるのは、
買う側(顧客)の話ッス。

MySQL ABの方は SEO=MySQL開発創始者はそだけど、
アップルの例もあるからねぇ、会社という組織になると。
(HPとかもそうか)

>まったく整合性の取れない
開発進捗度がこのまま足並み揃えて同じようならそうだな。
でも、MySQL5のストアドが結構掛かりそうだから、先にまとまりそうな
部分を先出ししてんじゃないの。だとしたら同じスピードならば
単純にストアド分は先に上がるな>MySQL4.1

折れはストアドもサブクエリもどうでも良いけど、レプリケーション
(今の擬似じゃなくて)を上げて欲しいよ。
706NAME IS NULL:04/02/10 15:56 ID:2IOk3KMr
LinuxサーバにMySQLを入れてWEBアプリケーションを作成しようと思っていますが、
漢字コードで迷っています。

htmlは携帯向けなのでS-JIS、insertはWin機からAccess一括とWEBから、updateは
WEBからの予定です。
MySQLは4.0.17をrpmで入れました。WinにはConnector/ODBC 3.51だけを入れました。

そこで質問ですが、この様な場合のMySQLの漢字コードはEUC、SJISのどちらにすべ
きなのでしょうか。またその時の注意点や参照先等がありましたらお願いします。


ちなみにAccessで漢字コードをDBのcharに入れたらselect文でしっかり検索でき
ました。

707NAME IS NULL:04/02/10 16:07 ID:???
Shift_JIS にしておいた方が無難なんじゃねーの?
708NAME IS NULL:04/02/10 16:18 ID:???
同意 > 707
709NAME IS NULL:04/02/10 18:51 ID:2IOk3KMr
>>707 >>708
即レスどうもありがとうです。

「Shift-JISデータを使うにはソースからmakeが必要」とどこかで見たのですが、
rpm版で大丈夫でした。

mysqldumpのバックアップのinsert文は、Accessからにすればイイや。
と言うことでS-JISでいきます。

MysqlのrpmとODBC入れただけで何もしていないのに、Accessで使えます。
意外と簡単でいいですね。>MySQL
710NAME IS NULL:04/02/10 19:49 ID:???
知れば知る程MySQLの汚さにうんざり。

じゃあ使うのやめれば > 俺

いろいろあってつき合わないといけないんだよお!
711NAME IS NULL:04/02/12 00:25 ID:???
スレ違いかもしれないんですが質問があります。

PHPでMySQLにアクセスする関数を使えるようにするために
php-mysqlというパッケージを入れないといけないのですが、
rpmをインストールしようとするとライブラリが足りないという
メッセージが出てインストールできません。そのライブラリを
入れてもやはり同じメッセージが出て失敗します。
いろいろ調べてみて、リンクをはる場所が違うのでシンボリック
リンクを張りなおさないといけないというのを見つけたのですが、
うまくいきませんでした。
どうしたらいいのかもうわかりません。
ご教授よろしくお願いします。
環境:
RedHat7.3
MySQL4.0.17(rpmでインストール)
PHP4.3.4(ソースからインストール。オプションは指定なし)
712NAME IS NULL:04/02/12 03:47 ID:???
PHP+MySQL連動の検索エンジンを作成しようと考えてます。
あくまでも速さ最優先で表示はGoogle式を考えてます。
タイトル (日付)
内容

のような。ユーザーは登録のみ行え、削除機能はありません。
データの書き換えは管理人のみが行えると言う。

上記のような検索エンジンを作成しようと考えたところ
これって1行掲示板を作る要領でいけるのではないか?と思ったのですが
いかがでしょうか?
713NAME IS NULL:04/02/12 10:03 ID:???
>>711
回答1:ソースからインストールしなさい。
回答2:RH7.3なんぞ古いものは捨てなさい。
回答3:他人も状況把握できるようにエラーメッセージもさらしなさい。

>>712
ダメ。
DBの検索と全文検索の区別ができないうちはモノをつくろうとするな。
時間の無駄。
714NAME IS NULL:04/02/12 10:05 ID:???
>>711
少なくてもエラーの内容はそのままコピペせんと…
全然どこから手をつけて良いか判らないのなら、ソースレイアウトに近い
i386用Linux"バイナリ"(RPM管理でないもの)のMySQL4.0.17の使用を薦める。
715NAME IS NULL:04/02/12 10:10 ID:???
read_buffer_sizeってどんな場面で効果を発揮するものなんでしょう?

デフォルトの値から1Mにかえたところ、insert select文の実行に3倍近い時間が
かかるようになってしまいました。今はデフォルトの値に戻しているのですが、
どういう場面で効果を発揮するのか教えていただけませんか?
716715:04/02/12 10:28 ID:???
補足です。
insert select文では、インデックスのみで解決できる値をselectしています。
717NAME IS NULL:04/02/12 20:45 ID:h5NKhQUi
洋書でもいいんですが、MySQL本でオススメってありますか?
「これだけ知ってればかなりのMySQL通」と言われるような本がいいです。
オンラインドキュメントを超える本はない、とかいうレスでも可です。
718NAME IS NULL:04/02/12 23:07 ID:???
えー、おれRedHat7.3つかってるよ
9でやったら、うまくコンパイルできなかったし。
おすすめのディストリあるんすか?
rpmは嫌いなのよね
719NAME IS NULL:04/02/13 11:16 ID:???
3.23から4.0に変えたのですが
unsigned同士を引き算した場合、型変換されずに小さいものから大きいものを引いた場合でも
マイナスにならなくなりました。

マイナスの値を得たい場合はcast( A - B as signed)と一々しなければならないのでしょうか?
720NAME IS NULL:04/02/13 12:43 ID:???
>>719

UNSIGNEDがサポートされたのって4.0からだったっけ?
3.23と4.0で挙動が違うって話?

>> unsigned同士を引き算した場合、型変換されずに小さいものから大きいものを引いた場合でも
>>マイナスにならなくなりました。

UNSIGNEDってそういうものじゃん。
721NAME IS NULL:04/02/13 13:14 ID:???
補足すると、
例えばBIG INTEGER UNSIGNEDは0〜18446744073709551615が使えるが、

次の計算をした結果:
1 - 18446744073709551615 = -18446744073709551614

は残念ながらBIG INTEGERで扱える範囲を越えてるので、
表示できないでしょ。

だから、無理矢理UNSIGNEDの数値で負数を表現しようと、
減算しても、結果は補数表示されるのは、しかたないし、
そういうもんだ。
722NAME IS NULL:04/02/13 21:09 ID:???
>>720
挙動が違うって話です。
言葉足らずでスマソ。

例えば、
A|B|A-B
75219 | 13669591 | 18446744073695957244
(A,Bはともにmediumint unsigned)

3.23の頃は暗黙の内にキャストされて負の値が表示されてたので
4.0に移行したら急にプログラムが動かずに焦ったのです。

演算自体はBIGINT SIGNEDに変換されてから行われてるはずなので
結果がマイナスの場合は負数として扱ってくれてもよさそうなものなんですが…
721の例は仕様として、演算に用いる場合は9223372036854775807より大きな値は
使用しないことが前提のようですし。

まぁ仕方ないですかね。
723NAME IS NULL:04/02/14 09:41 ID:???
> 4.0に移行したら急にプログラムが動かずに焦ったのです。
なんつーか……。
まず変更点ぐらい調べてからアップデートしようよ。
3.23 から 4.0 ってメジャーバージョン変わるんだしよ。
自業自得。

これ関係ないんかね。外してたら悪いが。
> - Added NO_UNSIGNED_SUBTRACTION to the set of flags that may be
> specified with the --sql-mode option for mysqld. It disables
> unsigned arithmetic rules when it comes to subtraction. (This will
> make MySQL 4.0 behave more like 3.23 with UNSIGNED columns).
724NAME IS NULL:04/02/15 02:45 ID:???
>>717
日本語の奴はこの中から選ぶとして、
http://www.mysql.gr.jp/books.html
前にちょろっと出てたけど「実践MySQL4」が良本というのは
俺も思ったんで買った。ただ基本がきちんと押さえてある点で
良い評価を出すが、更に上の欲しい情報は無い。
その点は「MySQL徹底活用」の方が上。

洋書だと、オライリーの「High Performance MySQL」待ち
http://www.oreilly.com/catalog/hpmysql/desc.html
725NAME IS NULL:04/02/15 13:34 ID:YhUAblRp
GROUP BY を使うときに、指定したフィールドの値が
最大な行を残すことって、SQL文一発でできるでしょうか?
副問い合わせを使えばできると思うのですが。

[table] PKはid,no
id | no | data
0 | 0 | あ
0 | 1 | い
1 | 0 | か
2 | 0 | さ
2 | 1 | し
2 | 2 | す

で、

id | no | data
0 | 1 | い
1 | 0 | か
2 | 2 | す

っていう結果が欲しいのです。
id でグループ化して、それぞれのグループ内で noが一番最大になっている
行が欲しいという感じです。
726NAME IS NULL:04/02/15 13:58 ID:???
>>725 一度tmp tableに落としてjoinしないと出来ないとおもうな。
727NAME IS NULL:04/02/15 14:35 ID:R54KCBiH
>>1

日本MySQLユーザ会
http://www.mysql.gr.jp/

につながらないのですが…
728NAME IS NULL:04/02/15 14:55 ID:???
>>725
select a.id, a.no, a.data from table a,
(select id, max(no) no from table
group by id ) b
where a.id = b.id
and a.no = b.no;

こうかな。間違ってたらごめん。
あと速度もわかんないしもっといい方法あるかも。
729725:04/02/15 14:58 ID:YhUAblRp
>>728
ありがとうございます
でもそれって副問い合わせじゃないんですか?
つまり副問い合わせを使わないと不可能ってことですよね。
>>726の言うとおり。

でもまあやってみます。
730NAME IS NULL:04/02/15 17:00 ID:???
>>727
繋がるぞ。

でも確かに、たまに落ちてるな。
731711:04/02/15 22:35 ID:???
MySQLとPHPをソースからインストールしてみました。
使っているディストリビューションはRedHat8です。
それぞれのインストールはうまく行っていると思います。
mysqlshowコマンドと<?php phpinfo() ?>と記述したファイルへの
アクセスは成功しています。
./configureのオプションは以下の通りです。

mysql
./configure --with-charset=ujis --with-extra-charsets=all

php
./configure --prefix=/usr --with-config-file-path=/etc --e
nable-force-cgi-redirect --enable-debugger --with-apxs2=/usr/local/apache2/bin/a
pxs --with-regex=system --with-openssl --with-mysql=/usr/local --enable-mbstring
--enable-mbstr-enc-trans

で、あるソフトをrpmパッケージでインストールしようとしたところ、
依存関係のエラーでlibmysqlclient.so.10がないというエラーが
出ていました。

他のサイトでパスを通せばよいというのがあったので
cp /usr/local/lib/mysql/libmysqlclient.so.10.0.0 /usr/lib/libmysqlclient.10.0.0
ln -s /usr/local/lib/mysql/libmysqlclient.so.10 /usr/lib/libmysqlclient.so.10
というコマンドを実行しました。
(実際には、/usr/local/lib/mysqlにlibmysqlclient.so.12.0.0とlibmysqlclient.so.12しか
なかったので名前をlibmysqlclient.so.10.0.0とlibmysqlclient.so.10に変えてコピーしてあります。
また、そのサイトでは
cp /usr/local/mysql/lib/mysql/libmysqlclient.so.10.0.0 /usr/lib/libmysqlclient.10.0.0
ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.10 /usr/lib/libmysqlclient.so.10
と書いてあったのですが、ソースからインストールしたので上のように変えてみました。)
しかし結果は同じでした。

本当に初心者なので、パスを通すということもよくわかっていません。
どうしたらいいのか教えてください。お願いします。
732NAME IS NULL:04/02/16 00:47 ID:???
>>731
なんで、RHL7.3→RHL8(否RHL9)なの?
733NAME IS NULL:04/02/17 01:02 ID:???
>>732
もう一台マシンがあってそれに入ってるのがRH8だったからです。
でもこっちはスペックがしょぼいので・・・。
7.3の方はmysqlをrpmで入れて、いろいろやってたら
うまくいったんです。
8はCPUが特殊なやつらしく、rpmではうまくインストールできなかったんですよね。
そもそもなんでCPUが違うとrpmが違うのかが分かってないんですが・・・。
734NAME IS NULL:04/02/17 13:10 ID:???
例えば、だ。

table a には auto_increment のフィールドがあって、1〜1,000,000 まで行があるとする。
都合があって、そのうち 100行くらい削除してしまっている。

その削除されてしまっている数値を知りたいのだが、これをSQLでするには
1 〜 1,000,000 までの数値が入ったテーブルを別に作って JOIN するしかないのか?
このテーブル単体でやる方法は?
735NAME IS NULL:04/02/18 01:12 ID:Qz2KSSIs
MySQL 3.23.58(PHPMyAdmin)で

CREATE TABLE abc(
create_time TIMESTAMP DEFAULT current_timestamp not null
);

とするとエラーが出るんですけど、なんででしょうか?
736NAME IS NULL:04/02/18 01:19 ID:AUmXWNix
まずエラーメッセージを書きたまえ
737NAME IS NULL:04/02/18 01:26 ID:Qz2KSSIs
エラー

実行されたSQLクエリー :

CREATE TABLE abc(

create_time TIMESTAMPDEFAULTcurrent_timestamp NOT NULL
)

MySQLのメッセージ -->


#1064 - You have an error in your SQL syntax near 'DEFAULTcurrent_timestamp NOT NULL )' at line 1

----
DEFAULTが認識されないんですかね?なぜかスペースが詰まります。
738735:04/02/18 02:34 ID:???
今までpostgresしか使ったことなかったんですけど、
MySQLのtimestampはデータ操作の日時を自動的に記録する
特別な型なんですかね・・・?これは混乱する。。
ちなみに、
CREATE TABLE abc(
create_time DATETIME DEFAULT current_timestamp not null
);
でもやはり同じようにエラーが出ました。
739NAME IS NULL:04/02/18 10:44 ID:TxHqfBga
質問です

INTなどのAUTO_INCREMENTを使用したフィールドで、
番号の終端に達した(例えばINT(4)で9999まで振られた)場合、
次にレコードがINSERTされた場合、
そのフィールドの値はどうなるのでしょうか?

マニュアルなどを検索しましたが見つかりませんでした。
どなたかご存知の方よろしくお願いします。
740NAME IS NULL:04/02/18 13:23 ID:???
>>739
MAXとった奴に+1した値を書き込んでるから、単純にレンジエラーじゃないの?
と思ったけどMySQLは数値の切り詰めを行うから、MAXと同値を書き込もうとするのかな?
そしたら重複値のエラーがでるか、AUTO_INCREMENT専用のエラーがあるか。
ループさせてやってみれば良いじゃん。

あと、INT(4)の最大値は9999じゃなくてINTと同じ2147483647だから。
ついでに符合なし指定して4294967296まで使えるようにしといた方が良い。
741740:04/02/18 14:51 ID:???
ERROR 1062: Duplicate entry '32767' for key 1
だそうだ。型は見ての通り「符号ありのSMALLINT」
勿論エラーでテーブルに反映はされない。
742NAME IS NULL:04/02/18 18:37 ID:???
>> 741

4.0,4.1のtinyintで試してみたが、エラーにはならんかった。
つまりどんどんデータをINSERTできた。
AUTO_INCREMENTをつけたカラムの数値は126,127,127,....
と127(tinyintの正の上限)でどんどんデータがはいった。


4.1だとWARNING:1263
Data truncated, out of range for column 'i' at row 1


create table test (i tinyint auto_increment ,j int, index(i))
でテーブル作ったから、インデックス指定したカラムiに同じ数値127がいくつも入るのは解せんが。
743742:04/02/18 18:41 ID:???
> create table test (i tinyint auto_increment ,j int, index(i))
>でテーブル作ったから、インデックス指定したカラムiに同じ数値127がいくつも入るのは解せんが。

自己フォロー。
インデックスだからいいだよね。UNIQUEでもPRIMARYKEYでもないし。

744741:04/02/18 20:32 ID:???
ごめん。いつもの癖で主キーにしてた。
745NAME IS NULL:04/02/18 23:14 ID:Qz2KSSIs
WHEREの後にLIMITするのではなく、
LIMITした後にWHEREで絞ることは可能ですか?
746NAME IS NULL:04/02/18 23:41 ID:???
>>745 サブクエリが使えないとできない。
747745:04/02/19 03:14 ID:???
>>746
そうですか、どもども。じゃあやっぱりPostgresにするかぁ・・・。
748NAME IS NULL:04/02/19 12:51 ID:???
>>747
4.1ならサブクエリ使える。


4.0, 3.23でもテンポラリーテーブルうまく使ってJOINすれば可能。
749NAME IS NULL:04/02/19 20:53 ID:taQM15Qp
<?xml version="1.0" encoding="UTF-8"?>
<element>あ〜〜〜</element>

というようなXMLを一つのカラムに格納してるのですが、
取り出すと"〜"の文字が化けてしまいます。
これ以外の日本語は化けません。

何故でしょうか?
750NAME IS NULL:04/02/19 21:58 ID:???
データベースのキャラクタセットは?
mysqlクライアントのキャラクタセットは?
どうやってINSERTしてんの?LOAD DATA INFILEならファイルの文字コードは?
751NAME IS NULL:04/02/20 01:20 ID:???
>>749
そのカラム、binaryにしてみる(とか)
752NAME IS NULL:04/02/20 07:59 ID:LVed7qy0
自分の個人サイトを、PostgresからMySQLに全部入れ換えることにしました。
(理由は、仕事でMySQLを使うことになったので、自習用に)

そこで、こういう場合、どういう手順で作業をするのが安全でラクなのでしょうか?
なお、途中でアクセスできない時間が長くても、かまいません。

どなたか教えていただければ幸いです。
753NAME IS NULL:04/02/20 10:59 ID:klLy8DTO
RDB初心者なので、考え方がおかしいかもしれませんが、ご容赦下さい。

レプリケーションを使用したいのですが、下記のような事は可能でしょうか?

マスター複数にスレーブ複数の構成で、PC1とPC2はそれぞれがマスターであり
スレーブである。そして、PC1が変更になった場合すべてのDBとテーブルがPC2に
反映されるが、PC2が変更になった場合は一部のDBの一部のテーブルのみがPC1に
反映される。

マスターの権限の設定で出来そうな気がするのですが、如何でしょうか?
754753:04/02/20 11:06 ID:???
あ、その前に、一つのスレーブに複数のマスターという構成は可能でしょうか?
755NAME IS NULL:04/02/20 11:52 ID:???
>>753

マルチマスタレプリケーション で検索してみるとか。

トランザクションの制御が難しいからなかなか簡単にはできませんよ。
756NAME IS NULL:04/02/20 12:16 ID:???
>>752
確実なのは、スクリプトでデータを抜き出して
SQL文(主にINSERT)を吐き出すものを作る
757NAME IS NULL:04/02/20 13:01 ID:???
LOAD DATA INFILEがうまくいきません。
LOCALを入れてもダメです。
local-infile=1の記述をmy.cnfに入れてもダメです。
何かご存知の方いらっしゃっいましたらご教授願います。
758753:04/02/20 13:07 ID:???
>>755
>マルチマスタレプリケーション
そんな用語があったんですね。
ありがとうございます。調べてみます。
759753:04/02/20 13:38 ID:???
マルチマスタレプリケーションはMySQLでは出来ないっぽいですね。
760NAME IS NULL:04/02/20 14:28 ID:???
>>757
MySQLはPostgreSQLと違って、そこそこまともなエラーメッセージが返るんだから、
まずエラーメッセージくらいコピペしろ。
761NAME IS NULL:04/02/23 22:53 ID:Hv9kpKUo
mysql 4.0.16でルートのほかにユーザーを作ってアクセス可能にしようと
grantやmysql control centerでいろいろいじってみたのですがaccess denied
になってしまいます。で、あるときmysql control centerでルートのパスワード
が何故か16進数になっているのに気づきました。最初はちゃんと読める文字だった
のがいつの間にか16進になっていました。しかしその状態でアクセスすると成功
します。これはどういう経緯でこうなったのか、どなたか心当たりのある方
いらっしゃいませんでしょうか?
762NAME IS NULL:04/02/24 02:00 ID:???
>761 OSとかなによ
763NAME IS NULL:04/02/24 17:03 ID:JjoMv34y
ORACLEからの移行って現実的じゃないですよね?設計思想が違いすぎるし。
更新系だし。
764NAME IS NULL:04/02/24 17:04 ID:???
WAL見たいなログ取る機能ってありましたっけ?
765NAME IS NULL:04/02/24 18:00 ID:???
読み取り一貫性の機能って無いですよね?
ロック機能で補ってるの?
766NAME IS NULL:04/02/25 18:11 ID:???
Mysqlccをつかっているのですが、テーブルのエンコーディングがujisのばあい、
MysqlccのクライアントをWinで動かすと化けますね。
Mysqlccでテーブルのエンコーディングを正しく表示させるにはどうしたらいいでしょうか
767NAME IS NULL:04/02/25 22:10 ID:???
質問です。

このサイトを参考にさせて頂いてるのですが、
ttp://homepage1.nifty.com/gak/webdb/mysql.html
こういうエラーが出てしまいます。
ERROR 1064: You have an error in your SQL syntax near '@ (id, name, birthday, me
mo)
  values
  (852101,
   "宇多田 ヒカル",
  ' at line 2

なぜINSERT出来ないのでしょうか?
768NAME IS NULL:04/02/25 22:15 ID:???
@ が含まれてるから。
769NAME IS NULL:04/02/25 22:25 ID:???
768に補足するとSJISの全角スペースには、〜
770NAME IS NULL:04/02/25 22:35 ID:???
>>769
やった。出来た!
2日ぐらい悩んでました。ありがとうございました。
771NAME IS NULL:04/02/26 01:21 ID:???
いつの間にかこんなの始めてたんだね。
http://www.softagency.co.jp/mysql/press20040217.html
PHPとか新しいものが入ってるし、RHLで標準のrpm使って云々の
初心者には「まとめて入れろ」と言えるので楽かも。
772NAME IS NULL:04/02/26 01:39 ID:???

関係者
773771:04/02/26 02:43 ID:???

ハズレ。

LAMPが構築できないよママンって感じのに
悩まされているところの関係者。
774NAME IS NULL:04/02/26 06:11 ID:???
selectに関する質問です。
例えば、テーブルABCに、フィールド名としてID,A,B,C,D,E,F,Gとあり、
各フィールドは、IDは通し番号で、他は0か1のみをIntとして保存しています。
テーブルDEFには、同じフィールド名があり、そこにはFloatで違う数値を
保存しています。表にすると下になります
Table ABC
+----+-------+-----+-----+-----+-----+-----+-----+-----+-----+
| id | pcode | 16A | 16B | 20A | 20B | 25A | 25B | 30A | 30B |
+----+-------+-----+-----+-----+-----+-----+-----+-----+-----+
| 1 | 3100 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
+----+-------+-----+-----+-----+-----+-----+-----+-----+-----+
Table DEF
+------+-------+------+------+------+------+------+------+------+------+
| trid | pcode | 16A | 16B | 20A | 20B | 25A | 25B | 30A | 30B |
+------+-------+------+------+-------+----------+--------+--------+-----
| 1 | 3100 | 1.00 | 0.00 | 2.00 | 0.00 | 2.50 | 0.00 | 3.00 | 0.00 |
+------+-------+------+------+------+------+------+------+------+------+
ABC上で値が1の部分(IDを除く)項目のみをDEFから取り出すには、
どのようなSELECT文で書けば良いのでしょうか?色々見たのですが、
今ひとつうまくいかなく、どなたかご教授下さい。お願いします。


775NAME IS NULL:04/02/26 09:19 ID:???
>773
レベルが低い関係者だな。とてもシステム構築など無理。
776NAME IS NULL:04/02/26 14:24 ID:???
>>774
まずテーブルの設計から見直してみては?
777NAME IS NULL:04/02/26 14:26 ID:???
>>774
サブクエリー。
でもMySQLはサブクエリーサポートしていないので、
778NAME IS NULL:04/02/26 14:41 ID:TSOd2EjR
>>761
UPDATE mysql.user set password = password('hoge');
779771:04/02/26 17:07 ID:???
>>775
「システム構築など無理」は正解。
同じ環境をいちいち用意してテストできないので当たり前だ。
正直、ユーザ(相当)から金貰ってるわけでもないので、
アプリ開発者としてはインフラまで世話する気がないだけだが?

自分の環境とは違う、まして使ったこともないパッケージを、
作ってメンテナンスするって労力じゃないのか?
だったら他にも日本語対応させた色んなパッケージを
無償配布&メンテナンスしてるところある筈だろ、教えてくれ。
誰が作ったか判らん無保証で構わん、悪いが対価は払えんので。

つーか、客観的には喪前の"関係者"←"softagencyの関係者"
つうのが思考を狭めてる要因だと思う。あと"関係者"→"生業としてる人"でもない。
780NAME IS NULL:04/02/26 17:30 ID:YtRubcux
Win版MySQL-4.0.18を入れてみました。
"mysql-max.exe" と、"mysql-max-nt.exe"は、どう違うんでしょう?
"mysql-max-nt"でググっても、日本語ページ検索ではほとんど情報がありません。
781NAME IS NULL:04/02/26 18:30 ID:???
>>780
"max"の付いていない、mysqld.exeとmysqld-nt.exeの違いについて調べると良い。
mysql.exe(クライアント)とmysqld.exe(サーバ)の違いにも留意。

簡単にいうと、
無印: 95/98/ME向け。デバックコードも含んでいるためサイズが大きく、動作は若干遅い。
opt: 95/98/ME向け。デバックコードは含まないため、無印よりも動作は速い。
max: optをInnoDB(トランザクションサポート)を付加してビルド
nt: optをNT/2000/XP向けに最適化してビルド
(NTサービスとして起動、名前付きパイプの使用)

なので、通常はOSが95/98/MEなら"max"、
NT/2000/XPなら"max-nt"という選択で構いません。
782781:04/02/26 18:45 ID:???
うーん、今の無印やoptにもInnoDBは付加されてるから、maxの説明がおかしいな。
「BerkeleyDB(トランザクション)が付加」ぐらいか。余り差異がないね。
783NAME IS NULL:04/02/26 20:13 ID:YtRubcux
>>781
禿しくサンクスコ(・∀・)
とりあえず、max-ntをインスコして、InnoDBでトランザクション使えることを確認できますた。
これより修行開始です。
784NAME IS NULL:04/02/26 21:36 ID:???
>>771=779

> レベルが低い関係者だな。とてもシステム構築など無理。

こんな一文にこんなに反応するってのは、関係者臭がプンプンするな(w

785NAME IS NULL:04/02/26 21:39 ID:???
>> 自分の環境とは違う、まして使ったこともないパッケージを、
>> 作ってメンテナンスするって労力じゃないのか?

LAMPのなかで自分の使ったことないパッケージって何?
Linuxインストールできないの?apacheインストールできないの?
MySQLインストールできないの?PHPインストールできないの?
そんなんで何を作ろうとしてるの(w
786NAME IS NULL:04/02/26 22:03 ID:???
>>785
LAMPを構成するプロダクト群がパッケージとな?
パッケージはそのプロダクトを配布する形態だな

別に何の関係者でもいいんでねぇの
787NAME IS NULL:04/02/26 22:31 ID:???
いや、祭を期待したんだが。燃料が不足だ。
788NAME IS NULL:04/02/26 22:39 ID:V0krL/8h
MySQLの関係者って言ったって今はsoftagencyだけじゃないでしょ
789771:04/02/26 23:19 ID:???
>>775
rpm(srpm)とか、debとか、portageとか、slpとか、pkgとか。
tarballも入れる?
790771:04/02/26 23:23 ID:???
ごめん。同じ人かも知れないけど、>>785 の間違い
791NAME IS NULL:04/02/27 12:19 ID:???
質問ですが、MySQL4でCHECK制約は設定できるのでしょうか。
ドキュメントをみるとできるとなっているのですが、

create table tbl1 (no int, data int check(data > 0))TYPE=InnoDB;
create table tbl2 (no int, data int , check(data > 0))TYPE=InnoDB;

どちらもテーブルはできるのですが、checkは無視されています。設定方法が悪いのでしょうか?

mysql> show create table tbl1;
| tbl1 | CREATE TABLE `tbl1` (
`no` int(11) default NULL,
`data` int(11) default NULL
) TYPE=InnoDB DEFAULT CHARSET=ujis |
1 row in set (0.11 sec)

mysql> show create table tbl2;
| tbl2 | CREATE TABLE `tbl2` (
`no` int(11) default NULL,
`data` int(11) default NULL
) TYPE=InnoDB DEFAULT CHARSET=ujis |
1 row in set (0.00 sec)
792NAME IS NULL:04/02/27 22:04 ID:???
MySQLでは、英文文字列の全文インデックスをサポート
していますが、検索速度は、シーケンシャルな検索に較べ
てどの程度(大雑把で)早くなるのか教えていただけない
でしょうか?

自分で調べろ、と言われそうですが、私のレベルですと
調査するのに数日が潰れそうなので、情報をいただけると
助かります。
793NAME IS NULL:04/02/27 22:05 ID:???
>>792
>全文インデックス
次のような検索のことです:

select フィールド名 from テーブル名 where match (フィールド名) against ('検索語');
794NAME IS NULL:04/02/28 12:23 ID:qIsU3aqc
MySQL+Apache(mod_perl)でサーバ組んでいるんですが、たまに以下の
エラーが出てしまいます。
Lost connection to MySQL server during query

でも、再度アクセスすると普通に出来てしまいます。しかもずっと出るわ
けでなく、忘れた頃にやってくる感じでまったく原因がわかりません。

ネットでも調べてみましたが原因も解決策も良くわかりません。
このエラーの回避法などありますでしょうか?
795NAME IS NULL:04/02/28 18:27 ID:???
>>792
10万レコードぐらいのテーブルをlikeによる中間一致検索で2秒ぐらい
掛かっていたのが、0.5秒ぐらいになりますた。
796NAME IS NULL:04/02/28 20:39 ID:0OBasi6A
postgresやOracleをちょっといじったことがあるだけなのですが。。
unionがmysqlにはないそうですが、
その変わりにはどういうSQLを書けばいいのでしょうか?

たとえば
「select * from foo union select * from bar」
と同じことをする場合にはどうかけばいいのでしょうか?
797NAME IS NULL:04/02/28 20:43 ID:ZeTJcTuF
>>796
当然マニュアル読んで唐の質問なんだろうな
798NAME IS NULL:04/02/29 13:22 ID:???
>>794
貴重な情報をありがとうございます。全文インデックスは、
like に比べて4倍程度の速さがでる、ということですね。

私の場合、レコード数が10万から120万程度です。全文イン
デックスをかけるフィールどの文字数は、平均で60文字程度です。
フィールドの文字数によっても、検索速度は変ると思います。

今週、時間が取れたらば、自分で試してみて、結果をご報告
いたします。
799NAME IS NULL:04/02/29 13:36 ID:???
クライアントに結果を返すときにPostgreSQLみたいに自動的に文字コードを
変換することってできますか?
SJISで格納されているデータをEUCで読み取りたいのですが。
800NAME IS NULL:04/02/29 13:43 ID:???
>>799
クライアントで変換くらいすればいいのに
801799:04/02/29 14:02 ID:???
>>800
それはつまり「MySQLではできない」という意味と捉えていいでしょうか。
802NAME IS NULL:04/02/29 14:51 ID:???
>>799
MySQL単体では無理。文字コードの変換は他の(PHP,Perl,JAVAなどの)言語でやる仕事。
803799:04/02/29 15:06 ID:???
>>802
わかりました。どうもありがとうございました。
804NAME IS NULL:04/03/01 11:41 ID:???
便乗質問。ソフトバンクの実践MySQL4という本では、
4.1からconvert(expr USING coding_name)でキャラクタコードcoding_nameで表示できるとな\
ってますが、
私の環境では、sjisで入れたデータをeuc端末で表示しようとconvert(hogehoe USING 'ujis'\
)してもダメでした。
皆さんは使えてますか?
805アキ:04/03/01 17:11 ID:XoJMlHgP
mysqlでtimestampから30日経ったものを書き出したいのですが
下記の書き方だと1日以上経ったものは全て出てしまいます。
なにか良い方法はあるでしょうか?
SELECT * FROM table WHERE (TO_DAYS(NOW())-TO_DAYS(timestamp))
よろしくお願いします。
806NAME IS NULL:04/03/01 18:03 ID:???
SELECT * FROM table WHERE (TO_DAYS(NOW())-TO_DAYS(timestamp)) > 30
807アキ:04/03/01 18:07 ID:XoJMlHgP
>>806
どうもありがとうございました!できました。
808NAME IS NULL:04/03/01 18:54 ID:8iwloKkC
809NAME IS NULL:04/03/01 20:35 ID:???
>>804
EUC-JP→SJISはいけたけど?
CONVERT( column USING sjis ) // コード指定のクォート要るの?

この機能、新しいlibmysqlでやってると思うので、その辺の違いはどう?
810.Net初心者:04/03/02 18:04 ID:OxutOzPu
MySQLを.Netで使おうとしています。
SQL文がよくわからないので教えていただいたいのですが。
SELECT * FROM table Where name = xxxx
このxxxxの部分をパラメータで与えたものにする場合はどう指定したらよいでしょうか?
(name = ? ではうまくいかないんです・・・)
811NAME IS NULL:04/03/02 18:22 ID:???
MySQLかどうかに関係ないので、もっと適した場所を探してくれ。
812NAME IS NULL:04/03/02 18:29 ID:ogpfvdhJ
SQLを最近勉強し始めたのですが、分からないことがありますので
どうか教えて下さい。
+-------+--------+-------+------+
| name | kokugo | sansu | eigo |
+-------+--------+-------+------+
| Aさん | 70 | 90 | 60 |
| Bさん | 50 | 70 | 90 |
| Cさん | 40 | 45 | 100 |
+-------+--------+-------+------+
っていうのを作っておいて、70点以上を合格として、その人の名前
合格科目の点数を出すようにしたいのですができるのでしょうか?
例えば、Aさんの場合だと
+-------+--------+-------+
| Aさん | 70 | 90 |
+-------+--------+-------+
Cさんの場合だと
+-------+--------+
| Cさん | 100|
+-------+--------+
みたいな感じです。どのようにSQL文を書けば良いのでしょうか?
宜しくお願いします。
813NAME IS NULL:04/03/02 19:14 ID:???
>>812
フィールド数を行ごとに可変長にするようなSQLは書けませぬ。
何らかのスクリプト言語を組み合わせて考えましょう。

なので、どこか違うところへどうぞ。
814NAME IS NULL:04/03/02 19:18 ID:???
ってかテーブルの設計が甘いよね
815812:04/03/02 20:13 ID:???
>>813
レスありがとん。
JSP+MySQLで何とかやりますた。
816NAME IS NULL:04/03/02 20:29 ID:LJPzxaWB

SELECT
MAX(t_date)
〜〜〜
t_dateはDATETIME型で
この記述を以下のようにしました。

COALESCE(MAX(t_date), NOW())
これはt_dateの最大値が取得できなかった場合(nullの時)
現在日時を取得するためです。

ただ取得はできているんですが、文字列に自動変換してしまうようで、
DATETIME型のままで取得するにはどうしたらよいでしょう。

MySQL最新版です。
817NAME IS NULL:04/03/02 23:17 ID:???
キャラクターセットについて質問です。
3.23.58で複数のキャラクターセットを使うにはどうすればいいのでしょうか。
具体的にはsjisのデータベースとujisのデータベースを作ったり、
sjisのテーブルとujisのテーブルを混在させたいのですが。
4.0ならテーブル毎にキャラクターセットが設定できるようですが、
3.23だとどうすればいいのでしょうか。
818NAME IS NULL:04/03/02 23:31 ID:???
>>817
単なるバイナリー列として扱う。

つか、元々ない機能を使おうと思ってるんだから頭使え。
819NAME IS NULL:04/03/03 01:46 ID:???
googleはmysql使ってるの?
他に大きいサイトでmysql使ってるとこある?
820NAME IS NULL:04/03/03 08:16 ID:???
>>819
米Ya!,Google,楽天。比率とか使ってる用途とかのソースは自分で探せ。
821NAME IS NULL:04/03/03 09:01 ID:M5PAostn
MySQLで、作成したユーザで接続できません。

### MySQLユーザを作成
$ mysql -u root -p
Password: ****
mysql> create database sample;
mysql> grant all on sample.* to user1 identified by 'pw1';
mysql> quit

### 作成したユーザで接続
$ mysql -u user1 -p
Password: ***
ERROR 1045: Access denied for user: 'user1@localhost' (Using password: YES)

パスワードは間違ってないのに。なんで?
822NAME IS NULL:04/03/03 10:58 ID:???
>>821
GRANTした後、FLUSH PRIVILEGESした?
823NAME IS NULL:04/03/03 11:04 ID:???
>>mysql> grant all on sample.* to user1 identified by 'pw1';
どこのクライアントから接続してるかわからんが、これがあやすぃ

サーバが動いてるマシンからの接続だったら
grant all on sample.* to user1@localhost identified by 'pw1';
をすれば解決するかも
824age:04/03/03 11:15 ID:???
別のホストコンピューターへmysqlサーバーをミラーリングして
負担分散させたいのですが
どうすればよいでしょうか?
825NAME IS NULL:04/03/03 12:07 ID:???
826NAME IS NULL:04/03/03 12:50 ID:dx1tL/i4
凄く初歩的な質問なんですが、
PHPでmysql_connect()で接続したコネクションを
プログラム内で明示的にmysql_close()していない場合は、
コネクションがタイムアウトするまで残る物だと考えていいですよね。
827NAME IS NULL:04/03/03 13:06 ID:???
いいえ
828826:04/03/03 13:53 ID:???
すみません。mysql_pconnect()でした。
mysql_pconnection()をページごと使ってると、
セッションはタイムアウトまで増え続けますよね。

>>827さん
mysql_connect()はスクリプト実行完了後に閉じられるみたいですね。
829NAME IS NULL:04/03/03 16:25 ID:???
>>826
>コネクションがタイムアウトするまで残る物だと考えていいですよね
いいえ。

この仕組みはPHPの範疇のことなので、
一度PHPのマニュアルの[第21章 持続的データベース接続]や
持続的リソース(persistent resource)について勉強してみてください。

あとWebアプリケーションの場合、コネクションやセッションは複数箇所で複数種張られますし、
それ故タイムアウトも同様に複数存在します。その言葉の指すものを正確に説明しないと
文意が定まらないので注意してください。
(一応 MySQLへのPHPからpconnectで張った接続についてと理解しました)
830NAME IS NULL:04/03/03 16:34 ID:???
>>823
ありがとう。それが正解でした。
そうか、ホスト名も必要なのね。勉強になりました。
831NAME IS NULL:04/03/03 16:44 ID:On/smcL1
MYSQLで 
列名 LIKE %ン%
とした場合列名にソが含まれるもののみを結果としてかえすと思うのですが、
「フ」と「ン」を同一のものと認識しているのか、
「ン」が含まれていなくても「フ」が含まれていると
結果としてかえってきます。
「ロ」と「レ」の場合も同様です。
正常な結果を返すにはどうしたらよいのでしょうか?
どなたかご教授ください。 
832NAME IS NULL:04/03/03 16:46 ID:???
>>830
多分まだちょっと誤解してると思う。
手短にうまく説明できないのでマニュアルを読んでくれ。
833826:04/03/03 16:48 ID:???
>>829
ありがとうございました。
マニュアルを読みましたが、今ひとつ納得できないので、
PHPスレに行きます。
834829:04/03/03 16:56 ID:???
追加すると、>>826 はPHPとMySQLの関係というより
PHPとWebサーバの関係ということが理解できるまで、
pconnectは使わない方が良いです。動作が変になったりしてハマるから。
835NAME IS NULL:04/03/03 17:25 ID:???
>>831
文字コードを適正に設定してる?
836NAME IS NULL:04/03/03 18:23 ID:On/smcL1
>>835
お返事ありがとうございます。
SELECT * FROM テーブル WHERE 列名 LIKE '%フ%'
こんな感じのSQLでphpMyAdminから実行しているのですが、
文字コードを適正とは?
DBはEUCで作ってます。
837NAME IS NULL:04/03/03 18:30 ID:???
すでにンとソを混同している
838NAME IS NULL:04/03/03 20:32 ID:???
>>836
じゃあ、MySQLにSQLで
→SHOW VARIABLESしてcharacter_setの項の値をコピペ
→MySQL4.1以上なら SHOW CREATE DATABASE dbname して
DEFAULT CHARACTER SETの値もコピペしてみ。

phpMyAdmin、つまりPHPのinternal_encodingがEUC-JPになっているかとか、
ブラウザからの入力→internal_encodingの変換がきちんと行われているのかは、
このスレの範疇じゃない(アプリの使い方の話)ので、確認の仕方はどっかで探して
実行したのをコピペ。

多分、確認したのを突合せてみれば、自分でも何処がおかしいか判るよ。
839NAME IS NULL:04/03/03 22:34 ID:???
みんなわりと新しいの使ってるのね。
業務関係で 3.23.x を使い続けてるから、何か乗り遅れてる気がするなあ。

でもさすがに 4.1.x までは行きたくないな、まだ。
840NAME IS NULL:04/03/04 01:25 ID:???
うちも3.23だよ。業務だしね。
myisam速くてさいこー
841NAME IS NULL:04/03/04 08:47 ID:31Hmzdfi
MyISAMだと更新時はテーブルロックかかるから業務上更新系ではまずいこと
起こらない?
842NAME IS NULL:04/03/04 09:05 ID:Wo5Jo0hK
テーブルロックで泣きみますた。
更新処理が多い業務系じゃ実用に成らん。
参照中心の情報提供系には、確かに爆速だけどね。
843NAME IS NULL:04/03/04 11:11 ID:???
>>839
俺の環境だとなぜか3.x系はデータ量が増えると激重になるから
4.0系使ってる。

4.1は流石にまだ手が出ない。
844796:04/03/04 18:20 ID:hKn5SR09
>>797

亀レスですみません。
マニュアルはひととおりみたつもりなのですが・・・
あと、技術評論社のSQLポケットリファレンス(改訂新版。DB別に使えるコマンドがわかる)を
持ってるくらいなのですが、
足りないでしょうか?
845797じゃないけど:04/03/04 19:42 ID:???
>>884
ひととおり見て無いじゃん。なんで伝聞ばっか信用すんの?
http://www.mysql.com/doc/en/UNION.html
UserCommentも参考にしる
846NAME IS NULL:04/03/04 23:25 ID:???
3と4って速さ劇的に違う?
847NAME IS NULL:04/03/05 00:33 ID:???
俺の環境(セレ1.7G,512MB RAM,Redhat7.2)ではJoinしまくると、
3系より4系の方が圧倒的に早くなった。
てゆーか3系がパフォ落ちすぎだった。
848836:04/03/05 11:19 ID:KP5OTsCY
>>838
お返事遅れました。返信ありがとうございます。

上記で質問したカタカナの誤判定に関しましては、
表示形式をBINARYとすることで解決したしました。
しかし、それとは別に先に記述したSQLで 『横』を検索すると
全角の『123』も結果として返ってきてしまいます。
原因として、EUCでは
横の文字コードは B2 A3  で
123の文字コードは A3 B1 A3 B2 A3 B3
とB2 A3の部分が同じためLIKE演算子を用いた場合結果として
返ってくるようなのですが、これを回避する方法は何かありませんでしょうか?

SHOW VARIABLES の結果 
character_set は latin1 でした。
849NAME IS NULL:04/03/05 14:30 ID:???
>>848
>SHOW VARIABLES の結果 
>character_set は latin1 でした。
だからさ、まずはこれをちゃんと正しく設定しなよ。
850848:04/03/05 18:49 ID:KP5OTsCY
>>849
ujis への変更を行いましたが、
『横』検索で『123』が結果として
返ってくる結果はかわりませんでした。
MYSQLでは制御できないのでしょうか。
851NAME IS NULL:04/03/05 19:34 ID:SMQByFh9
MySQLの文字コードって一般的にはEUC-JPなんでしょうか?
検索してもほとんどEUC-JPしか出てこないので。
Shift-JIS にすると何かデメリットあるでしょうか?
852NAME IS NULL:04/03/05 20:30 ID:???
>>851
LAMP系を気取る香具師に「だっせー」と言われる
853NAME IS NULL:04/03/05 20:41 ID:5IKhdMZ0
レンタルサーバ(ロリポップ)にMySQLをアップしたいんですけど、
やり方が書いてないんです。
どうやってアップすればいいのでしょうか?
854NAME IS NULL:04/03/05 20:49 ID:???
>>853
それはCDに焼いて炉理ポップにインストールしてもらうしかない
郵送先はHPで自分で調べろ
855NAME IS NULL:04/03/05 21:01 ID:???
>>853
mput mysql*
856796:04/03/05 21:07 ID:ZlDYLo/B
>>845
すいません、みてたマニュアルがバージョン3のものだったみたいです。
ポインタ先のマニュアルには、
「UNION is implemented in MySQL 4.0.0. 」とあるので、MySQL4から可能ということですよね?
ということは、
バージョン3の場合、同じことをするには別の方法をしなければならないのでしょうか?
857NAME IS NULL:04/03/05 21:16 ID:???
MySQL のマニュアルを漁ってもそれっぽいのが見つからなかったのですが、
PostgreSQL の配列(になってる列)みたいなものは MySQL には用意されてないのでしょうか。
何か違う方法を取らないといけないのでしょうか…。
858NAME IS NULL:04/03/05 21:43 ID:???
>>850
本当に'ujis'に変更されてることを再表示して確認した?
rebootを忘れてない?

他は該当フィールド作成時にBINARY属性を付けてないか。
クエリを間違えて LIKE BINARY '%横%'のままにしてないか。
859NAME IS NULL:04/03/05 21:54 ID:???
>>851
特に無いが、PHPスクリプトから利用する場合は
内部エンコーディングと合わせておいた方が変換がいらないので楽、
そして多くの場合、内部エンコーディングがEUC-JPのため。
最近はその辺全部UTF-8に統一することが多い>自分

常用するクライアントツールがSJIS/EUC-JP/UTF-8の
どれに対応してるかしてないかにも依存はすると思うよ>メリットデメリット

>>856
だから、User Comments嫁。
860NAME IS NULL:04/03/05 22:15 ID:SyhNsF95
                  __ __ __ __ ___             __ __
                 ∠__∠__∠__∠_.∠_../ |        __∠__∠__∠l__
               ∠__∠__∠__∠__∠__/|  |        ∠__∠__∠__∠__/.|_
.                ∠__∠__∠__∠_.∠_./|  |/|       ∠__∠__∠__/   /|  |/|
.                /   /  ./   /   /  /! |/|  |     |  /  /  /| ̄ ̄|  |/|  |
              | ̄ ̄| ̄ ̄| ̄ ̄| ̄ ̄| ̄ ̄|  |/  |/|     |_| ̄ ̄| ̄ ̄|  |__|/|  |/|
        __ _|    |__|__|__|__|/| ̄ ̄|  |    ∠__|__|__l/   /|  |/|  |
.         /   / | ̄ ̄|  |.\/\/\. |    |  |__|/|   |    |    |    | ̄ ̄|  |/|  |/
      | ̄ ̄| ̄ .|    |/| ̄|\/\/ .|__|/|    |  |   |__|__|__|__|/|  |/|
.     ___|__|__.| ̄ ̄|  |_|/\/  |    |  |__|/     |    |    |    |    |  |/|  |
.   /   /   /  |    |/|.         |__|/|          .|__|__|__|__|/|  |/
  | ̄ ̄| ̄ ̄| ̄ ̄| ̄ ̄|  |.         |    |  |            .|_|    |    |  |__|/
  |__|__|__|__|/        |__|/               |__|__|/
861NAME IS NULL:04/03/05 22:51 ID:DQKKrCoW
「LAMP系を気取る香具師」てどんな香具師?
漏れもLAMPエバンジェリストなんだが。
862NAME IS NULL:04/03/06 00:34 ID:???
>>861
Unix系はEUC、WindowsはSJISと思い込んでる香具師じゃないの。
LinuxでもEUCという固定観念は古すぎだし、Unix系とひとくくりに
EUCと思い込む知らなさ過ぎ度を添加すると"気取る"含みがもたらされる。
863NAME IS NULL:04/03/06 00:37 ID:cP0ARCYE
LAMPという言葉で検索かけてたら、
ttp://www.netdreamers.co.jp/company/core.html
こんなページにたどり着いた。
LAMPって、ソリューションと呼べるのかな?
864NAME IS NULL:04/03/06 08:42 ID:cDrzjSfc
# /からmysql.server start
しても起動せんので
cd /usr/local/share/mysqlとデレクトリーを変更して
# mysql.server start
しても起動しないのはなんでだろう?
-bash: mysql.server: command not found
だってさありえん、なんでだろう♪
865NAME IS NULL:04/03/06 09:33 ID:???
ネタは勘弁
866NAME IS NULL:04/03/06 09:54 ID:cDrzjSfc
>>865
ネタではない罠
# find / -name mysql.server
/usr/local/share/mysql/mysql.server
外からだとパス通してないんで無理だと思い
デレクトリー変更して逝ってみたんだが、
mysql.serverが見当たらんってのはおかしいと思うのは
洩れだけか??
867NAME IS NULL:04/03/06 10:08 ID:???
パスにカレントディレクトリ”.”が含まれてなかった、ってオチ? まさかね?
cdしてから./mysql.server startとか?
868NAME IS NULL:04/03/06 10:18 ID:cDrzjSfc
>>867
スマン君の指摘とおりですた./mysql.server startとしたら
Mysql走りマスタ
まぁその前に
/etc/rc.local編集してマシンの起動時にMysql走らせるようにシマスタが

しょうもないおちですまんかった、逝ってきます
>>867
どもありがと
869NAME IS NULL:04/03/06 10:35 ID:???
ネタじゃなかったのか・・・ on_
870NAME IS NULL:04/03/06 10:42 ID:???
>>864-869
ワロタ

ときどきはこういうの、あってもいいかw
871NAME IS NULL:04/03/06 12:24 ID:???
MySQL5.0まだぁ〜?
872NAME IS NULL:04/03/07 08:05 ID:JFr1oAkQ
>>871
α版はリリースされてるじゃん
873NAME IS NULL:04/03/07 22:09 ID:???
MySQL5はまだまだで良いが、MySQL4.1を早く安定させて、
結果多くのホスティングサービスで入れ替えが行われることを希望
874教えてくん第536875号:04/03/08 00:54 ID:z/w72B5N
教えてくんです。 教えるくんがいたら教えてください。

1).NET ASP(C#)でMySQL4.1とADOにByteFX MySQLClient0.75を試してます。Connectionオブジェクトcnを作った後、cn.Open()で「無効なP/Invokeです」となり、接続を嫌がられます。 なぜなのでしょうか。

2)また、SevenObjectsのMySqlClientを使った場合、接続オブジェクトcnを作って接続はできるのですが、
cn.CreateCommand()で「Not Implemented」と言われます。これは本当に未実装なのでしょうか。
(ついでに、このCreateCommand()の結果をMySqlCommand型変数に入れようとすると
「型が一致しない」系のエラーを生じます。キャストしたら「Not Implement」ですになります)

Nativeのプロバイダを使おうとすると、こんな感じでつながらないか、クエリを実行できないかの
どちらかになります。 素直にODBCを使えということでしょうかね・・・はぁ








875NAME IS NULL:04/03/08 17:43 ID:???
ピーク時に常時200コネ以上接続がある状態で、
OSのload averageが50以上になり困っています。
max_connectionが200でtable_cacheが400で、
CPUペン4の3G、メモリ1Gです。
max_connectionがオーバーすると接続できないエラーが返ってきてます。
このとき、OS、DB、ハードそれぞれどこを弄れば解決するでしょうか?
876NAME IS NULL:04/03/08 18:10 ID:???
>>875
ORACLEに移行
877875:04/03/08 18:19 ID:???
>>876
これはMySQLの範疇を超えていると判断しろということですか?
大体MySQLではどのあたりまでのConnectionなら耐えられるものなのですか?
878NAME IS NULL:04/03/08 18:41 ID:1Yv+JpU/
>>875
アプリ側で、コネクションプーリングとか使ってないのか?
879NAME IS NULL:04/03/08 18:52 ID:???
コネクションが常時 200 も張られてるって、
普通に考えられるシステムならオカシイと思うんだが。
>>878 の言う通り、コネクションプーリングしる。

やっててそれなら、もう MySQL の範疇を越えてるとしか……(;´Д`)
880875:04/03/08 19:29 ID:???
>>878-879
WEB側はPHPなんですが、全て通常接続でした。
持続型接続の上限を設けて、持続型接続で接続するよう、
プログラムを書き直してみて、ピークに備えてみます。

ありがとうございました。
881NAME IS NULL:04/03/08 21:49 ID:???
PHPってコネクションプーリングサポートしてないだっけ・・・

ぬるぽ
882NAME IS NULL:04/03/08 22:04 ID:???
>>881
してるよガッ
883NAME IS NULL:04/03/08 22:13 ID:zHwlqeU6

   ∩___∩      
   | ノ      ヽ/⌒)  <ぬるぽ〜〜〜〜
  /⌒) (゚)   (゚) | .|  
 / /   ( _●_)  ミ/   ∩―−、
.(  ヽ  |∪|  /    / (゚) 、_ `ヽ
 \    ヽノ /      /  ( ●  (゚) |つ    
  /      /      | /(入__ノ   ミ    <ぬるぽ〜〜〜〜
 |       /       、 (_/    ノ     
 |  /\ \       \___ ノ゙ ─ー
 | /    )  )       \       _     
 ∪    (  \        \     \
       \_)
884NAME IS NULL:04/03/09 00:33 ID:???
ODBC経由で接続可能?

それとM$SQLのストアドに相当するものある?
885NAME IS NULL:04/03/09 01:14 ID:???
>>881
PHP(多分PerlにもRubyにも)にはコネクションプーリングはない。
持続リソースを使った持続的接続(Persistent Cconnection)はあるけど。
もともとAP鯖やDBMSに依存する話だし、それをPHPに持たせよう
と思ったら、どうやってリソースを維持していくか…
MySQL用のプーリングサーバ欲しいね。
(Postgresでは誰か実験的にやってた気がした)
886885:04/03/09 01:24 ID:???
PHPCon2003の桝形さんの資料から
pgpool
http://www.sra.co.jp/people/t-ishii/PostgreSQL/
SQLB
http://sqlb.sourceforge.net/
SQL Relay
http://sqlrelay.sourceforge.net/

ところで、常時200接続ってMySQLの接続だよな >>875
取り合えずPCONNECT使って、httpdとPHPの設定をすり合わせろ。
887NAME IS NULL:04/03/09 14:01 ID:???
ロードアベレージ50ってのはすごいなぁ
とりあえず、レプリケーションして負荷分散とか
いろんな手はあると思う。
php側で接続するサーバをランダムとかで変えてやればいいだけ。

pconnectは試したことあるけど、テーブルロックしたスレッドが
残ったままになって、止まっちゃったりしたことあって、使うのやめた。
888NAME IS NULL:04/03/09 15:35 ID:???
>887
MySQLだけだったら、まだ分散処理までできないんだっけ?
双方向もできるようになってた?
889880:04/03/09 19:48 ID:???
駄目でした。
確かに処理は早くなってるのですが、
connection数の増加は変わらず、
軽々maxに達しました。
接続が残るだけあって、
load_averageの上がり方も変更前より激しいものがありました。
結局、connectionの上限に達し、load_averageもいつもの50になりました。

分散処理はユーザーの予算上無理だそうです。
もう、PHP+MySQLでは限界ですか?
JSPにすれば少しは解決できますかね…。
890ヽ(´ー`)ノ ◆.ogCuANUcE :04/03/09 19:59 ID:???
それ、プーリングできてないと思うんだけど……。
pconnect 使うだけだと持続的接続しかしてくれないよ?
891880:04/03/09 20:11 ID:???
>>890
PHPでプールはできないので、
持続的接続にしたのですが、駄目でした。
返せば、PHPでは無理だということですか?
892NAME IS NULL:04/03/09 20:21 ID:???
>>889
httpdとPHPの設定のすり合わせはやったのか?
そもそも肝心の構成は何よ、Zeus+PHP(FastCGI)とかか?
取り合えず両方のディレクティブ晒してみそ。

あと予算増やせず&JSPにすれば、むしろ悪化するな。
SQL Relay良さげだから、コネクションプールするだけなら使ってみな。
893NAME IS NULL:04/03/10 02:52 ID:???
>>888
MySQLだけだと一方向です
複数のスレーブが1台のマスタを見に行く感じです。
マルチマスタやりたいですよ
だれか実践してる人いませんか??
894880:04/03/10 03:08 ID:???
>>892
Apache+PHP(DSO)です。
Apacheで
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 200
MaxRequestsPerChild 100
PHPで
mysql.allow_persistent On
mysql.max_persistent -1
mysql.max_links -1
です。
895NAME IS NULL:04/03/10 05:32 ID:???
>>894
>MaxClients 200
>MaxRequestsPerChild 100
これだと単純に考えても同時に200クライアントから接続されたときに
別の200プロセス立ち上がって、全てが同等にMySQLに接続を持とうと思ったなら
(そういう設計なら)に、そのままMySQLに200接続要求しないか?
だからCONNECT→PCONNECTやMaxRequestsPerChildの値が意味ない。

MaxClients 150
MaxRequestsPerChild 0(=無限。本番は適度な大きさで実数を指定)
とかで、エラーはどうなる?
#正直200は多すぎ。キューに入れて待たせちまえ。

>max_connectionがオーバーすると接続できないエラーが返ってきてます。
これってどこの接続の話。httpd?、MySQL?
896895:04/03/10 07:01 ID:???
ごめん。max_connectionってるのでMySQLのコネクションね。
ところで逆にMaxClientsをそのくらい高く設定したい(前提/目標)として
MySQLのmax_connectionはもっと大きく出来る余地はないのかな?

ただね、そもそもMEM1Gでhttpd+PHP+DBMSなんでしょ。それでDBMSを使った
コンテンツ配信だったら、精精MaxClients100ぐらいだと思うけど。
HTTPリクエスト中MySQLに接続する割合はどの程度あるの?
場合によっては非持続的接続の方が良いかもしんないよ。
(887氏の言うとおりロックが開放されないことも運が悪いとあるし)
MySQLは接続コスト低いから、持続が良いかはMEMとCPUリソースの
バランスで考えて。
897NAME IS NULL:04/03/10 09:24 ID:???
日本語版マニュアル、完成か?
http://www.mysql.com/doc/ja/
898NAME IS NULL:04/03/10 10:23 ID:???
>>897
ところどころ日本語の文字化けになるところとか、
IEだとレイアウトが変なところも残ってるみたいだけどね。

今のマニュアル(英語のも)、MyNAがベースにしてた頃の奴よりも
内容が減ってるような気がするんだけど気のせい?
899NAME IS NULL:04/03/10 13:21 ID:???
>>897
ミラーサイトへのミラー状況を調べてみました。
オンラインマニュアルのミラーはまだですがダウンロードマニュアルはミラー済みでした。
ダウンロードマニュアルは背景がsilverですが、htmlファイル7行目辺りの
BODY BGCOLOR=silver をBODY BGCOLOR=white に変更すると読みやすくなります。

Searchable, with user comments (まだミラーされていない)
http://www.softagency.co.jp/MySQL/doc/ja/
HTML, one page per chapter, tarball
http://www.softagency.co.jp/MySQL/Downloads/Manual/manual.ja-split.tar.gz
HTML, all on one page, tarball
http://www.softagency.co.jp/MySQL/Downloads/Manual/manual.ja.tar.gz
HTML, all on one page, ZIP
http://www.softagency.co.jp/MySQL/Downloads/Manual/manual.ja.zip
900NAME IS NULL:04/03/10 21:26 ID:???
ちょっと教えてください<(_ _)>

1000万件程度の売上データを格納して、データマイニングや
問い合わせに利用するつもりなのですが、
Win版のMySQLでも実用レベルで使えますか?

Linux版がとても早いのは調べててわかったんですが、
Win版でもパフォーマンスが出るのかどうかがよくわかりません。

都合上Win2000上にて運用したいのです。
(CPUやメモリにはある程度コストがかかってもかまいません)

同じような環境でお使いの方や、そういった情報がわかるページを
ご存知の方がいたらよろしくおねがいします。
901NAME IS NULL:04/03/10 23:30 ID:???
すいません、
MySQLをダウンロードしてやってインストーラを実行したのにタスクバーに信号
があらわれません。どうして?
http://www.mysql.com/
から
http://www.mysql.com/downloads/mysql-4.0.html
を探し、Windows 95/98/NT/2000/XP/2003 をダウンロードした。

902NAME IS NULL:04/03/10 23:30 ID:???
>>900
あんたの言う「実用レベル」は、あんたにしか判断できないから、誰にも分からない。
あんたの作る「アプリケーション」は、あんたにしか分からないから、誰にも分からない。
903901:04/03/10 23:47 ID:???
ごめんなさい。
でました。
904NAME IS NULL:04/03/11 02:52 ID:???
>>900 WINもLinuxもメモリを最低2G乗せて
ちゃんとチューンすればたいしてかわらんだろ。
OSなんでもメモリなきゃスピードがた落ち。
あと、Linuxで煩雑に書き込みするならext3の
ジャーナリングをwritebackにしないと実用にならない。
905NAME IS NULL:04/03/11 09:02 ID:???
>>900
別にMySQLのWindows版も充分安定して動いてると思いますけどね。
OS共々サーバとして長期運用では使ってないけど、マイニングなどの
パーソナルな要件では問題ない。ただ個人的にはNTFSでもファイルシステムの
出来はあまり宜しくない気がする。でもこれは他のDBMS使おうがいっしょ。

事前に入手して試したりはOracleでもMySQLでも他のでも
無料で出来るんだから仕事ならやるべき。あとMySQLだって
別にオープンソースコミュニティの製品じゃなくて、MySQL ABという
会社の製品なんだから、直接会社に問い合わせすれば情報貰える。
(私は既に顧客だから窓口違うけど、営業窓口が使える筈)

日本の代理店がどの程度独自の情報持ってるかは知らんが、
代理店経由でも他のメーカと同程度の導入前の事前サービスは
普通に受けられると思う。
906900:04/03/11 10:39 ID:???
>>904
>>905
回答どうもありがとうございます。

代理店とか会社に問い合わせしようかと思ったのですが、
実際の利用者の生の声を聞いた方が実情がわかるかと思って
ここで聞いてみた次第です。

お二方の意見をうかがったところ、
きちんと運用すればWin版でも大丈夫そうですね。

どうもありがとうございました<(_ _)>
907http://bulkfeeds.net/app/search2?q=mysql&sort=date:04/03/12 22:20 ID:3bJr9OvP
MySQL総合 (DB@2ch掲示板)のまとめ

http://pwiki.chbox.com/pukiwiki.php?mysql
908NAME IS NULL:04/03/12 22:23 ID:???
>>907
909NAME IS NULL:04/03/14 17:14 ID:fdxvL1t2
PHP+MySQLの組み合わせで、商用Webを作成しても
MySQLの商用ライセンスを購入しなくても良いと、聞いたことがあるような気がするのですが
本当でしょうか?
910NAME IS NULL:04/03/14 17:16 ID:???
>>909 GPLライセンスつかえば有料ライセンスいらない
911909:04/03/14 17:42 ID:???
>>910
レスありがとうございます。
GPLライセンスを使うという事は、無料で利用でき、ソースコードを公開し、改変配布自由に
するという事ですよね?

そうではなくて、商用で(つまりWebを使用して頂く為には利用料が必要で)PHPの
ソースコードは非公開です。
この条件でも商用ライセンス不要だと聞いた気がします。
912NAME IS NULL:04/03/14 17:55 ID:???
>>911
そのアプリケーションを他者に配布するか、自分が使用するか、の
違いじゃないの?

商用アプリケーションを「自分が使う(自分が設置して、利用者を募る)」のであれば、GPLで無問題。
でも、そのアプリケーションを「他者に配布する(他者に譲渡して、他者が設置する)」なら有問題。
913909:04/03/14 18:31 ID:???
>>912
なるほど。では私の場合は前者なので無料で組めます。
別のDBに移行する必要があるかもと不安だったので助かりました。
ありがとうございます。


それから後学のため次の場合はどうなるか教えて下さい。

譲渡ではなく、サーバ機器ごとレンタルする場合。

(つまり自社で客先にサーバを設置して、クライアントはそのサーバを管理して
エンドユーザーがWebを有料で利用するという案件の場合)
914NAME IS NULL:04/03/14 19:23 ID:???
>>913
サーバ機器ごとシステムのレンタルは「配布」に相当すると考えられるので
クライアントに対してGPLに基づいてライセンスしないと駄目。
エンドユーザはアプリを操作する(出力/入力)だけなのでライセンスは関係ない。

MySQLの商用ライセンスなんて安いんだから、仕事で使うなら買った方が良い。
そもそも商用ライセンス分の費用が気になる程度の利益の案件は、最初から請け負っちゃ駄目。
貴方の人件費がいくらかしんないけど、それは"お金を稼ぐ"という点では成り立たないレベルの仕事よ。
915NAME IS NULL:04/03/14 22:45 ID:???
仕事で使うなら買ったほうがいいっていうのもある意味事実だが、
実際のとこGPLで用が足りることがほとんどだからいらないのも事実。
GPLだと困るなら、Linuxベースで組んだシステムを外に出すことなど
できなくなってしまう。
配布する場合はライセンス買わなきゃいけないってこともないよ。
ちゃんとGPL守れば。この仕事してるならGPLぐらい読もう。
916NAME IS NULL:04/03/15 00:46 ID:???
>>915
オープンソースで無料配布ならGPLで良いんだよな。
ソース晒したくない場合はコマーシャルライセンスだよな。
要はただで運用したいヤツは、ソース晒す準備しとけってことでいいのかな。

917NAME IS NULL:04/03/15 01:11 ID:???
>>916 自分のところのサーバー上での運用ならばGPLでいい。
ソースの公開も必要ない。

コマーシャルライセンスにしないといけないのは
MySQLそのものを売る場合に、MySQLに付随する
自作のソフトのソースを公開しない場合のみ。
918NAME IS NULL:04/03/15 08:03 ID:Qj7JvU57
たとえば、CGI屋さんが、
(1)お客さんのサーバーに
(2)MySQLのインストール/セットアップを行って
(3)PerlなCGIを組んで、
納品する場合、
ソースはクライエントに公開してるんだから、GPLで良いのだ。
# ...で良いんだよね?
919NAME IS NULL:04/03/15 08:19 ID:???
もう一個。既出だけど。
ASP屋さんが
(1)自分のサーバに
(2)不特定多数の利用を目的としたプログラムを設置・稼動させ
(3)このプログラムがMySQLを利用していた場合
は、ソースを配布すべきユーザが存在しない(バイナリ配ってないし)
から、ソースを公開しなくてもGPLで良いのだ。
http://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods
920 :04/03/15 09:20 ID:4Mo4OYhT
>>918
GPL なので、お客さんが CGI ソースを再配布したり改造できたりしちゃうけどね。
921NAME IS NULL:04/03/15 09:42 ID:???
>>920
んん? >>918 の言っているのは、あくまで MySQL をお客さんに GPL として配
布して良いかどうかであって、この場合の Perl な CGI のラインセンスがど
うであるかは関係ないんじゃないかな。
もちろん、この CGI を GPL として渡せば >>920 の言うとおりだけど。

もっとも、>>918 の場合は CGI をどういう形で渡すにせよ問題はないと思う
ですよ。とにかく、MySQL 自体に手さえ加えてなければ GPL で問題なしと。
922NAME IS NULL:04/03/15 09:53 ID:???
GPLってMySQLのライセンスだよね。
ということは、既存のMySQLを立ててる客に、
CGIやPHPのスクリプトのみ配布する場合は、
MySQLのライセンスを意識しなくて良いということだよね。

では、MySQLをFTPからダウソし、インストールしてあげて、
一緒にスクリプトを導入する場合でも、
GPLで構わないってことで良い?
923NAME IS NULL:04/03/15 10:25 ID:M95yj3XT
MySQL MLにも上がっていたが、GPLでないフリーソフトウェアライセンス
(どのライセンスに限るのかはリンク先参照)に限って、GPLでも商用でもない
第三のライセンス-FOSSライセンスができたみたい。
ただしコレはlibmysqlつまり、MySQLクライアントライブラリの話で
MySQLデータベース本体は従来どおり。
http://www.mysql.com/products/foss-exception.html

つまり今まで現行のGPLのlibmysqlを使ってMySQLにアクセスする
PHPアプリケーションの場合は、GPLにすることが必要であったが
今回クライアントライブラリにFOSSのものを選択できるようになり、
これによってPHPアプリケーション自体には自由にライセンスを設定
できるようになる。BSDライセンスなクライアントソフトなんか作ってる人にも朗報。
MySQLデータベースの方は従来どおりなので、商用を選択するか、
GPLを選択するかのどちらか。
924NAME IS NULL:04/03/15 10:26 ID:???
誰か表でも作って、これまでの話で出てきた「こういう場合はこのライセンス」というパターンを整理してくれ。

もちろん、その表のために使うテーブルは正規化してくれ。
925920:04/03/15 10:33 ID:4Mo4OYhT
>>921

ご注文 / MySQL ライセンス
http://www.softagency.co.jp/order/license.html
> GPL の MySQL を使用する製品は、その製品を GPL にする(GPLに矛盾しないようにする)必要があります。
> GPL の MySQL や MySQL を使用した製品を売ろうとしているが、
> ソースの引渡し要求を拒否したい場合は GPL に適合しなくなります。

この「MySQL を使用」をどう解釈するかによって変わってくると思うんだけど、
単純に解釈すると、
「GPL ライセンスの MySQL」 を使ってる製品は GPLにしなければならない、ってことだよね?
だから Perl な CGI も GPL にしなければならないと考えた。
926923:04/03/15 10:47 ID:M95yj3XT
ついでに指摘しておくと

>>920
>Perl な CGI のラインセンスがどうであるかは関係ないんじゃないかな。
CGIは現行のGPLなライブラリを使っていれば、GPL以外は駄目。

>>922
>GPLってMySQLのライセンスだよね。
>ということは、既存のMySQLを立ててる客に、
>CGIやPHPのスクリプトのみ配布する場合は、
>MySQLのライセンスを意識しなくて良いということだよね。
MySQLデータベースの方は意識しなくてもよいが、MySQLクライアントライブラリのライセンスは意識する必要がある。

いままで問題になっていたのはMySQLデータベースがGPLだからというより
そのクライアントライブラリがGPLだから。PHPでmysqlの関数を使う前提で
書かれたプログラムは、このライブラリを使うということで、
ライブラリがGPLなら、PHPプログラムはGPLにしなくてはならなかった。
じゃあ今までみんなGPLにしてたか?そうではないでしょ。
実は今までPHPにバンドルされていたのは、かなり昔のクライアントライブラリで
GPLではなく、PDSとして公開されていたものをずっと使い続けてきた。
PHP5でそろそろ新しい現行のライブラリに入れ替えたい(古いのはMySQL4.1の
新機能が使えない)と考えたら、それはGPLしかなかったから問題が顕著になった。
# 多分PerlやRubyなどでもバンドルライブラリの話は一緒

今でもクライアントライブラリのライセンスは意識する必要はあって、
新しい"FOSSライセンス"または古い"PDS"のもの、それか商用ライセンスでなければ、
(つまるところ残るはGPLでライセンスされたライブラリな訳だが)
アプリケーションはGPLにする必要があるよ。
927923:04/03/15 10:56 ID:M95yj3XT
新設のFOSSライセンスじゃなくて、GPLライセンスのものにFOSSに対応した
例外条項を追加するみたいだね。GPLに例外条項を設定できたっけ?
GPLではない例外をGPLに入れて、GPLと言えるの?という点。
928NAME IS NULL:04/03/15 11:46 ID:???
>>926
> CGIは現行のGPLなライブラリを使っていれば、GPL以外は駄目。
おぉぅ。そっちの方をすっかり失念してましたよ。
山手線に飛び込んできます……
929NAME IS NULL:04/03/15 12:48 ID:???
930923:04/03/15 16:19 ID:???
>>926
文章中ライブラリは以前はLGPLで...のくだりがあったんで、
ああ、LGPLだった時もあるのを忘れてた。こまかく覚えてないので
調べてみたが、MySQL3.23.19β(2000年)より本体がGPLで、libがLGPL。
ソースから確認したところ3.23.56まではLGPL、MySQL4.0.9gではlibもGPL
つまりMySQL3.23付属のがLGPLで、MySQL4.x付属のがGPLかな。
だから、このLGPLのライブラリをバンドルしてる言語もあるだろうね。
Debianは以下のポリシー
http://packages.debian.org/unstable/libs/libmysqlclient10.ja.html

PHPの方はCVSの方確認してみたが
/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
This file is public domain and comes with NO WARRANTY of any kind */
だった。LGPLのじゃなくて、やはり古くても敢えてPublicDomainを選んでる感じ。
多分PHPグループのポリシーとして、LGPLものでもバンドルはしない
(BSDライセンスやApacheライセンスとかの、PHPライセンスと親和性の高い
ライセンスじゃないと駄目っぽい。PECLなど見てもそんな感じ)のだろう。

まあMySQLはライセンスが色々変わったり、範囲が解りにくいというのは言える。
件の改正も結構わかり難いままだと思う。ここは改善して欲しいな。
あとlibだけの安いコマーシャルライセンスの設定も。
931930:04/03/15 16:23 ID:???
>>929 の間違いだった。
CNETの記事は知らなかったんでサンキュー
932NAME IS NULL:04/03/15 18:50 ID:???
MySQL5.0まだぁ?
933NAME IS NULL:04/03/15 19:12 ID:9Pp1+SZn
FreeBSDでMySQL4.0なんですが、

SELECT part_tmpl_var_cd FROM part_tmpl_var_table WHERE part_tmpl_var_name IN ('path','home','hoge')
のSQL文で、
これを、
part_tmpl_var_name の値がPATHやPathなどの大文字であっても一致する(selectされる)ようにするには、
どうSQL文を書き換えればいいのでしょうか?

934NAME IS NULL:04/03/15 19:25 ID:???
いま一番安定していて新しいバージョンは、どのバージョンなのでしょうか?
935933:04/03/15 20:39 ID:???
すいません、自己解決しました。
LOWERというのをはじめて知りました。

SELECT part_tmpl_var_cd FROM part_tmpl_var_table WHERE LOWER(part_tmpl_var_name) IN ('path','home','hoge')
でOK
936NAME IS NULL:04/03/15 21:00 ID:???
>>934
MySQL4.0.18かな。MySQL4.1.1aも使ってるけど、
個人的には安定はしてると思うけど、新機能に関してはバグは多いみたいね。


937NAME IS NULL:04/03/15 22:41 ID:???
どうしてこうもMySQLのページを読まない香具師ばかりなのだ?

GPLの解釈については漏れの英語力もあやしいが、
「枯れたバージョン」については、見たままじゃないか…
938NAME IS NULL:04/03/15 22:56 ID:???
mysql> desc table;
+-----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | |
| UserName | varchar(64) | | MUL | | |
| GroupName | varchar(64) | | | | |
+-----------+------------------+------+-----+---------+----------------+

こうやったときに、
Keyのカラムに MUL ってのがあるんですが、
これってどういう意味なんでしょうか?
939NAME IS NULL:04/03/15 23:23 ID:cW3rjrDX
MUL
940NAME IS NULL:04/03/15 23:30 ID:???
Multi User Lingaphone
941NAME IS NULL:04/03/16 03:18 ID:???
MySQL4.0なんですけど
カラム名にマルチバイト文字はいいんでしょうか?
SQL文は発行できるんですけど、、正式なサポートはありますか?
ちなみに、文字コードはEUCです
942938:04/03/16 11:32 ID:???
>>939,940

???
943NAME IS NULL:04/03/16 12:28 ID:???
>>938
MULはユニークキーのこと
944NAME IS NULL:04/03/16 13:03 ID:???
>>943
UNI
945NAME IS NULL:04/03/16 13:04 ID:???
>>944
ハァ?
釣るなよ。
俺のはunique属性つけたらMULって出るし。
クライアントによって表示される文字が違うってか?
946NAME IS NULL:04/03/16 13:05 ID:???
>>944
サバとイクラ
947NAME IS NULL:04/03/16 13:39 ID:???
>>945
not null付けてないフィールドにuniqueインデックスを指定すると、desc tablename
で「Key」の欄がMULになるね。
not nullを付けてると、PRIかUNIになる。
948947:04/03/16 13:42 ID:???
>>947は4.1.1-alphaで確認したので、他のバージョンでは違うかも。
949NAME IS NULL:04/03/16 13:58 ID:???
>>947
ああ、NOT NULLか。それは忘れていた、スマソ

#そういやNOT NULLなんてしたことないなぁ・・
950941:04/03/16 13:59 ID:???
あの、僕は
951NAME IS NULL:04/03/16 14:06 ID:???
>>950
正式なサポートがあれば
ttp://www.mysql.com
のどこかに書いてあるだろ
952941:04/03/16 14:45 ID:???
ということは、正式にサポートしてないってことでいいんですね?

いいんですね?
953NAME IS NULL:04/03/16 15:13 ID:???
>>952

カラム名にマルチバイト文字を使おうと思ったことがありません
ですから調べたことがありません。
よって知りません。

>ということは、正式にサポートしてないってことでいいんですね?
>
>いいんですね?

ご自分でご判断ください。
954941:04/03/16 15:22 ID:???
使えね
955NAME IS NULL:04/03/16 15:31 ID:q69hCdAh
RedHat7.3に、MySQL4.0.18をrpm -i mysql... でインストールしました。
で、どうすりゃいいの?
956NAME IS NULL:04/03/16 15:33 ID:???
rpm -e mysql...
957NAME IS NULL:04/03/16 15:33 ID:???
958941:04/03/16 15:48 ID:???
>>957
使える

何でもいいのか、thx。日本語にできてよかった
959NAME IS NULL:04/03/16 20:58 ID:???
>>958
できないよ、ハゲ
日本語くらい読め
960NAME IS NULL:04/03/16 21:18 ID:???
>>941
マルチバイトのカラム名とかは、バッククォートで括りゃ
確かに動作してるように見えるし、大方支障はないと思うけど
使ってるファイルシステムにも絡む部分だったり、よっぽどのことがない限り
余計な問題を避けるために最初から使わない。他のDBMSからの移行でも
DBMS変更にまつわる修正作業に含めちまって、変更するのが普通だぞ。

本などの例で日本語で記述してるのは、判りやすく説明するためで
別に著者も実際に日本語で書くのを薦めたりしちゃいないよ。
961941:04/03/16 21:50 ID:???
>>960
そうですか。
テスト成績を保存するDBを作ってるんですけど
DBのカラム名に教科名を日本語で入れたら楽なんだけどなぁ。。
今は、カラム名を英語で書いてます、Japanese,Math等。
そして、subjectと言うテーブルに
Japanese->国語
Math->数学
とやってるので、
2回テーブルからデータ取得しないといけないんで面倒なんですよね。。。
962NAME IS NULL:04/03/16 22:26 ID:???
>>961
そういうときは迷わず日本語で書いた方がいい
多言語対応するつもりも無いだろうし
いまさら多バイト文字がダメンじゃ処理系なら
黒く塗りつぶせ
963NAME IS NULL:04/03/16 22:55 ID:???
>>961
モデリングっていうか、カラムの構成が間違ってるような気がする…
964NAME IS NULL:04/03/16 23:17 ID:???
>>963
ドウイ。
>>961
自分の分だけなのかクラス全員分なのか知らんけど、カラム名をsubjectにして
1人分に対して教科数分のレコードを作ったら?
教科マスタみたいなテーブルには
1->国語
2->数学
って入れとく。
965941:04/03/16 23:20 ID:???
>>963
そうなんですか。。

test_2003_4テーブル(2003年度4回目、つまり学年末試験)

No | Japanese | Math | Digital | English1 | English2 |
---------------------------------------------
1   54      84   70     98     100
2   51      21   100    75     43



test_date_infoテーブル

TableName |    JpName  |
---------------------------
2003_3    2003年後期中間
2003_4    2003年学年末



test_subject_info

ColmnsName |   JpName  |
--------------------------
Japanese    国語
Math       数学
Digital      デジタル回路
English1     英語T
English2     英語U



こういうような感じなんですが
966NAME IS NULL:04/03/17 00:31 ID:???
>>965 本来的な話だと正規化したほうがいいよね
それならカラム名の問題も出てこないし。

でも、Excelから入れる程度のデータ量っぽいので
無理に正規化しないほうがいいのかも。
967941:04/03/17 00:35 ID:???
>>966
正規化、とはどういう風にすればいいのでしょうか。
DBは何分無知なもので・・・
是非ご教授お願いします。
968NAME IS NULL:04/03/17 00:35 ID:???
>>965
げぇ、ExcelからCSVでそのまま持ってきましたね?w

あくまで私見、として見てほしいんですけど

scoredata テーブル

No | StudentID | InfoID | SubjectID | scorel |
--------------------------------------
1    1010   20033      1     54
2    1010   20033      2     84
3    1010   20033      3     70
4    1010   20033      4     98
5    1010   20033      5    100
6    1011   20033      1     51
7    1011   20033      2     21
8    1011   20033      3     100
9    1011   20033      4     75
10    1011   20033      5    43

date_infoテーブル

  ID    |     Name   |
---------------------------
20033    2003年後期中間
20034    2003年学年末


subject_info テーブル
  ID    |     Name   |
---------------------------
  1        国語
  2        数学
  3       デジタル回路
  4        英語T
  5        英語U

student_info テーブル
  ID    |     Name   |
---------------------------
 1010      モナー
 1011      ギコ

969NAME IS NULL:04/03/17 00:36 ID:8f9bk80H
LinuxとPHPとMySqlをはじめたばかりですが、

<?php
$ID= mysql_connect("localhost","","");
if($ID != FALSE)
{
print "The connection to the server was made successfully.";
}
else
{
print "The connection to the server failed.";
}
mysql_close($ID);
?>

という文を書き実行すると、Call to undefined function, mysql_connect
とでてきます。mysql_connectという関数を認識していないみたいですが、
ウィンドウズの方で同じ文を書き実行すると正しく表示されます。
Linuxのほうのmysqldは起動しています。アパッチもきちんと動いてます。
Red Hat Linux 9をフルでインストールして、その後の設定は行って
いません。何が原因でmysql_connectという関数がよびだされないんでしょうか?
970941:04/03/17 00:38 ID:???
>>968
>げぇ、ExcelからCSVでそのまま持ってきましたね?w
え?、これ手打ちですけど・・・


なんか、テーブル同士の関連付け?みたいな、そんな高度なもの全然知らなくて、テーブルは切って考えてました。。

InfoIDはそうすれば一つにまとめまればきれいですね。
始めたばかりのときに、問い合わせのWHEREもしらなかったので試験日ごとにテーブル分けてました。
971NAME IS NULL:04/03/17 00:52 ID:???
>>968のつづき。

んで
select Name.student_info,Name.date_info,Name.subject_info,score from scoredata
left join student_info on StudentID=ID.student_info
left join date_info on Info_ID=ID.date_info
left join subject_info on SubjectID=ID.subject_info
where StudentID = 1010;

アドリブで手打ちしたので動作確認してない→動かなかったらスマソ

これやらないと、RDBを使ってる意味がない…

972941:04/03/17 00:54 ID:???
left join〜ってのがそういうことですね。なるほど、勉強になります
973971:04/03/17 01:08 ID:???
>>972
強引にMySQLの話題に戻すと、注意点は
・日本語入ってるカラムはバイナリ指定が吉。
・日本語入ってるカラムは主キーにしないw
ってところかなぁ。
ガイシュツだけど、2バイトコードは悪さする&多言語対応は考えられないので
974NAME IS NULL:04/03/17 01:10 ID:???
>969
マニュアル嫁
975941:04/03/17 01:10 ID:???
>>973
主キーにはしてませんね。ユニークキーにはしてますけど。
バイナリがいんですか、varcharでやってました・・・
976971:04/03/17 01:39 ID:???
>>969
マニュアル嫁2

MySQLはインストール直後にrootのPass設定しなくちゃダメだわさ。
そんなことは、どんな解説本にも出ているわさ。
んで、最悪でもrootのアカウントとPassは入れとかなくちゃ動かないわさ。
(ふつうは、別アカウント作って制限かけるけどナー)

なんでWindowsでは動いてるの?
そっちのほうがおかしいぞ
977NAME IS NULL:04/03/17 07:37 ID:AGUZPTGB
>>969
RedHat9は触ってないから推測だが、PHPが--with-mysqlオプション付きで
コンパイルされているのかな。phpinfo()の情報見てみれ。
ソフトエイジェンシーからLAMPパッケージを取ってきて入れ替えて見るのが
良いかと
978NAME IS NULL:04/03/17 09:11 ID:???
>>976
あれっ、LinuxだとMySQLユーザのrootにpasswd必須だっけ?
取り合えずWindowsは、ビルトインユーザのrootにはpasswdは無くても動く。
# passwdを無しで使うシチュエーションもそんなにないが。

>>969
件のPHPの吐いてる Call to undefined functionは >>977 の考えてる理由かな。
Windows版はMySQLエクステンションをPHP本体に静的に組み込み済み。
RHLの方はphp-mysql*.rpmパッケージにより、後で動的に組み込む必要があるが
それが上手くできてない。本当はフルインストで入る筈だけどね。
因みに動的組み込んだエクステンションは、phpinfoのconfigureのところでは表示されない。
RHL純正rpmのPHP本体だとマルチバイト機能も不足してるから、必要ならsrpmを使って
再ビルドして組み込まないと駄目。

貴方くらいだと素直にソフトエイジェンシーのrpmを取ってきた方が良いよ。
979978:04/03/17 09:41 ID:???
デジャヴの原因は↓か。
http://www.mysql.gr.jp/mysqlml/msg.cgi?ml=mysql&id=8725
このケース、提示されている情報からだとインストールできてて
良い筈なんだが何か上手くいってない。この後を自力で調査して
解決できないのなら、別のを模索する方が手っ取り早いね。
# これ、原因を類推できる人いる?
980NAME IS NULL:04/03/17 09:46 ID:vWVqCFS9
次スレ、まだぁ?
981NAME IS NULL:04/03/17 10:24 ID:???
取り合えず草稿。タイトル決めよう。

ちと長いので、分割して2レス目あたりに各言語毎の
対応する情報持ってこれないかな?
PerlとかPythonの該当しそうなページ見つからんかった。

公式サイト(英語)
http://www.mysql.com/
日本MySQLユーザ会(MyNA)
http://www.mysql.gr.jp/
日本語マニュアル
http://www.mysql.com/doc/ja/
http://www.mysql.gr.jp/jpdoc/
メーリングリスト案内&検索
[MyNA(日本語)]
http://www.mysql.gr.jp/ml.html
http://www.mysql.gr.jp/mysqlml/
[本家(英語)]
http://lists.mysql.com/
http://lists.mysql.com/search.php

MySQL関連本
http://www.mysql.gr.jp/books.html
http://www.mysql.com/portal/books/

前スレ
[MySQL総合]
http://pc2.2ch.net/test/read.cgi/db/1056942908/

関連スレ
[mysql ヘルプ!]
http://pc2.2ch.net/test/read.cgi/php/1011683282/
[MySQL vs PostgreSQL]
http://pc2.2ch.net/test/read.cgi/php/989341364/
982NAME IS NULL:04/03/17 11:02 ID:???
テンプレにGPLについての簡単解説載せてくれ
983NAME IS NULL:04/03/17 12:34 ID:???
>>981
タイトルは素直に「MySQL総合 Part2」を推します。
下記リンクの追加をお願いします。

日本語マニュアル
http://www.softagency.co.jp/mysql/Manual/
4.1.1のマニュアルをmysql.gr.jpと同じ形式で公開しているので
mysql.comとmysql.gr.jpの間が良いです。

MySQL+各言語
[快速MySQLでデータベースアプリ!]
http://www.atmarkit.co.jp/flinux/index/indexfiles/mysqlindex.html
[実践MySQL]
http://www.softagency.co.jp/mysql/TIPS/
984981:04/03/17 14:52 ID:???
夜中に慌てるのも何なので、新スレ立てました。
レス番#1が長すぎた気がする、ごめん。

[MySQL総合 Part2]
http://pc2.2ch.net/test/read.cgi/db/1079502373/-3
985NAME IS NULL:04/03/17 20:22 ID:???
986NAME IS NULL:04/03/17 21:56 ID:???
987NAME IS NULL:04/03/18 00:01 ID:???
988NAME IS NULL:04/03/18 01:29 ID:???
989NAME IS NULL:04/03/18 09:37 ID:???
(゚д゚)ウマ-
990NAME IS NULL