MySQL 総合 Part11
at DB
1:だよもん!!!
07/05/03 10:06:30 /jT2voSZ
快速 RDBMS、MySQL の総合スレです。
前スレ[MySQL 総合 Part10] スレリンク(db板)
[関連スレと過去ログ]
URLリンク(find.2ch.net)
URLリンク(makimo.to)
[MySQL Developer Zone] URLリンク(dev.mysql.com)
[MySQL 日本語リファレンスマニュアル] URLリンク(dev.mysql.com)
[MySQL Internals Manual] URLリンク(dev.mysql.com)
[MyNA] URLリンク(www.mysql.gr.jp)
[MLja] URLリンク(lists.mysql.com)
ここで質問をする前に、MyNAでのFAQを最初に確認しましょう。
URLリンク(www.mysql.gr.jp)
・関連ツール及びユーティリティ
・関連書籍
>>2
2:NAME IS NULL
07/05/03 10:09:53
【関連ツール及びユーティリティ】
[phpMyAdmin] URLリンク(www.phpmyadmin.net)
[phpMyBackupPro] URLリンク(www.phpmybackuppro.net)
[MySQLCC] URLリンク(www.mysql.com)
[MySQL-Front] URLリンク(www.mysqlfront.de)
[mytop] URLリンク(jeremy.zawodny.com)
MySQL ABでの各種GUIツールは
MySQL GUI Toolsとして統合されています
(WorkbenchはGUI Toolsから独立しました。)
URLリンク(dev.mysql.com)
・MySQL Administrator
・MySQL Query Browser
・MySQL Migration Toolkit
URLリンク(dev.mysql.com)
・MySQL Workbench
【関連書籍】
[MySQL Books]
URLリンク(dev.mysql.com)
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
3:NAME IS NULL
07/05/03 10:12:54
■テンプレ補足
MyNAでの「心得の条」は最初によく読みましょう。
URLリンク(www.mysql.gr.jp)
【関連ツール及びユーティリティ】 *次は他項目と一緒にします。(ごめんなさい)
[Common SQL Environment] URLリンク(www.hi-ho.ne.jp)
2ch風偉人伝 AA はこちら
URLリンク(www.aadayo.com)
4:NAME IS NULL
07/05/04 09:55:32
刀、 , ヘ
/´ ̄`ヽ /: : : \_____/: : : : ヽ、
,. -‐┴─‐- <^ヽ、: : : : : : : : : : : : : : : : : : : : : : }
/: : : : : : : : : : : : : :`.ヽl____: : : : : : : : : : : : : : : : : : /
,. -─「`: : : : : : : : : :ヽ: : : : : : : : :\ `ヽ ̄ ̄ ̄ フ: : : : :/
/: :.,.-ァ: : : |: : : : : : : : : :\: : : : :: : : :ヽ \ /: : : :/
 ̄ ̄/: : : : ヽ: : : . . . . . . . . . . .、 \=--: : : :.i / /: : : : :/
/: : ∧: \: : : : : : : : : : ヽ: :\: : : 〃}/ /: : : : :/ 、
. /: : / . : : :! ヽ: : l\_\/: : : : :\: ヽ彡: : | /: : : : :/ |\
/: : ィ: : : : :.i: : | \!___/ ヽ:: : : : : : :\|:.:.:.:/:! ,': : : : / |: : \
/ / !: : : : :.ト‐|- ヽ \: : : : : l::::__:' :/ i: : : : :{ |: : : :.ヽ
l/ |: : :!: : .l: :| \: : : l´r. Y {: : : : :丶_______.ノ: : : : : :}
l: : :l: : :ト、| 、___,ィ ヽ: :| ゝ ノ '.: : : : : : : : : : : : : : : : : : : : : : /
|: : :ト、: |: :ヽ ___,彡 ´ ̄´ ヽl-‐' \: : : : : : : : : : : : : : : : : : イ
!: :从ヽ!ヽ.ハ=≠' , ///// ///u /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
V ヽ| }/// r‐'⌒ヽ イ〉、
ヽ、______ー‐‐' ィ´ /:/:7rt‐---、 こ、これは>>1乙じゃなくて
ィ幵ノ ./:/:./:.! !: : : : :!`ヽ ポニーテールなんだから
r‐'T¨「 |: | !:.∨:/:./: :| |: : : : .l: : : :\ 変な勘違いしないでよね!
/: : .|: :| !:.!ィ¨¨ヾ、:.:/ !: : : : l: : : : : :.\
5:前スレ990
07/05/04 12:08:10
前スレ990です。
SELECT COUNT(*) FROM テーブル名 なんて便利な構文があったとは…。
感激です。
ありがとうございました。
6:NAME IS NULL
07/05/04 12:48:20
質問です。
"SELECT * from table" の 11行目〜20行目 を取得したい場合には、どのようなSQL文を発行すれば良いでしょうか?
目的はWebアプリケーションの「次のページ」に該当するものを作ることです。
よろしくお願い致します。
7:NAME IS NULL
07/05/04 13:07:37
>>6
リミット
8:6
07/05/04 17:32:42
>>7
リミットでぐぐったら解説ありました。
感激です。
ありがとうございます。
URLリンク(homepage2.nifty.com)
9:NAME IS NULL
07/05/04 17:44:53 qFF22gV4
>>9ならMYSQL公式サイトに5.0の日本語マニュアルうpされる
10:NAME IS NULL
07/05/04 23:47:48 L3HBUz2X
source sql.txt
で520件程度のload_fileを使ったクエリを読み込ませて
warningが4件ずつでながらもquery OK で成功してるはず
なのですが、実際にセレクトしてみるとload_fileでインサートしたはずの
画像が入っていません。
手動で1件ずつ入れる分には問題ないのですが、
なんとかする方法はないでしょうか?
11:NAME IS NULL
07/05/04 23:51:15
↑もう一回テストしてみたら入ってました。前回は念のためbeginってしたのが悪かったのかな。
12:NAME IS NULL
07/05/05 10:40:57
5.1日本語マニュアルがうP
URLリンク(dev.mysql.com)
13:NAME IS NULL
07/05/05 13:53:06
beginしている事自体、駄目だろw
14:NAME IS NULL
07/05/05 16:26:28 58Z5NhTT
はじめまして。
phpmyadminを使用してテーブルの作成をしたいのですが、VARCHARやTXETなどの可変長文字列を使用するとエラーがでます。
#1163 - The used table type doesn't support BLOB/TEXT columns
可変長文字列が使えないようになっているのはわかるのですが、どこで変更していいかわかりません。
どなたかご教授願います。
15:NAME IS NULL
07/05/06 02:00:51 VOimcpaB
>>14
もう少し詳細な情報がないとなんとも。
「お腹痛いんですけど」だけでは原因はわかりません。
16:NAME IS NULL
07/05/06 03:08:09
>>15
TYPEがHEAPじゃなくて?
17:NAME IS NULL
07/05/06 03:37:23 DkpI5Nmx
mysqlからデータ取り出して、PHPで表示させる時、皆何つかってる?
俺はWHILEばっかなんだけど。
18:NAME IS NULL
07/05/06 05:52:01
>>17
csvファイルに落としてあとでのんびり参照。いやマジで。
19:NAME IS NULL
07/05/06 08:33:40
質問です。
レンタルサーバでPHP+Mysqlを利用してます。
掲示板で、使用してるテーブルが 40万行 60MB なのですが、
これは一般的に大きすぎますか?
20:NAME IS NULL
07/05/06 08:54:22
質問の意図が分かりません。
40万行なんてたいしたことではありません。
21:NAME IS NULL
07/05/06 09:07:51
>>20 ありがとうございます。
レンタルサーバ側から、
『サーバに異常な負荷が起きている、Mysqlを利用できなくした。原因のPHPを削除しろ。』
とメールで連絡がきて。しかも海外の会社だから、英文で…
今、困惑中のオレ...orz
22:NAME IS NULL
07/05/06 10:02:48
>>21
データ量じゃなくてクエリーの不出来が原因だな。
たった100行1メガのテーブルでも
やり方しだいで負荷100%は楽々達成できる
23:NAME IS NULL
07/05/06 13:25:21 I2do9hQG
コマンドラインのmysqlクライアントでテーブル名やカラム名の補完ができるのを見かけたんですが、
使えるバージョンやconfigureオプションを教えてください。
24:NAME IS NULL
07/05/06 15:34:13
inner join と
left join + where 結合テーブル.任意のカラム is not null
っていうのは同じ結果が返ってくると思うのですが、やっぱり速度的は前者の方が速いんでしょうか?
25:NAME IS NULL
07/05/06 16:52:06 ixhAcene
質問です
誕生日などの記念日を日付型のフィールドに格納しています
そこで、今日から指定日数以内に記念日が含まれる人を抽出する場合の条件は
どのようにすればいいでしょうか?
26:NAME IS NULL
07/05/06 22:43:56
>>25
BETWEEN に、今日の日付関数と、日数計算関数を書く。
27:NAME IS NULL
07/05/07 13:44:13
>>23
ALTER TABLE
28:NAME IS NULL
07/05/07 15:47:57
Windows で skip-character-set-client-handshake を指定しても効かないのですが
わかる方おります?
29:NAME IS NULL
07/05/07 20:03:57
>>28
MySQLのバージョンがわからんとコメントしようがない。
30:NAME IS NULL
07/05/07 20:31:05
>>29
ここ(URLリンク(ftp.iij.ad.jp))で
これ(mysql-5.0.37-win32.zip)落としました。
31:NAME IS NULL
07/05/08 06:13:38
>>30
そのオプションが4.1以降なのでと思っていたけど、5.0系ですね、、、
my.cnfの記述が気になる所ですが、
効く、効かないの確認はどのようにしていますか?
mysqlクライアントから、SHOW VARIABLES LIKE 'char%';の出力結果を確認してみましたか?
32:NAME IS NULL
07/05/08 13:30:44
>>31
skip-character-set-client-handshake の仕様ついて、かなり勘違いしてるかもです。
すべて ujis に設定したいと考え character_set_server は ujis としています。
コマンドラインで SHOW VARIABLES LIKE 'char%'; を確認すると、
character_set_client の値は ujis になっているのですが、
phpMyAdmin から SHOW VARIABLES LIKE 'char%'; を確認すると、
haracter_set_client の値が utf8 になっているので効いてないじゃないか!と考えました。
phpMyAdmin がどんな悪さしようとも必ず character_set_server と同じになるものと考えていましたが
やっぱり違うんでしょうかね?
33:NAME IS NULL
07/05/08 13:39:38
>>28 です。
実際そのように動作するからそういう仕様なんでしょうね。
phpMyAdmin にお仕置きすることにします。
34:NAME IS NULL
07/05/08 15:04:49
MySQLのBOOL型はtrue/falseじゃなくて1/0ですよね?
35:NAME IS NULL
07/05/08 16:17:10
>>34
int(1)とか、そんなの。
36:NAME IS NULL
07/05/08 16:49:23
FOX★公認!今世紀最大の祭り!!!
俺たちのクリックで日本を一位にしようぜ!!
“30年は日本に手は出せないな”という勝ち方をしたい
スレリンク(news4vip板)
1. チリ 136,836,018
2. ポーランド 135,173,390
3. イスラエル 80,308,719
4. ★日本 71,029,997★
5. スロベニア 56,818,986
6. フィンランド 40,275,252
石を投げる戦争から人は進化・進歩を遂げ、剣や槍などの武器をもって戦うようになった
人間はさらに発展し兵器を使う戦争を始めた
そして今、指先一つを武器とした電脳戦争が勃発したのであった・・・
皇国を勝利へと導くには貴様らの参戦が不可欠である
・戦場
URLリンク(www.clickclickclick.com)
・まとめサイト
URLリンク(www33.atwiki.jp)
・mixi
URLリンク(mixi.jp)
37:NAME IS NULL
07/05/09 17:33:34
MySQLを勉強中だが、遊びながら覚えるには
権限関係やmysqlコマンドラインクライアントの環境を把握するのが
大変で、本来のデーターベースいじる前にくたばった
寝る
38:NAME IS NULL
07/05/09 21:38:09
>>37
おやすみ。MSの世界へどうぞ。
39:NAME IS NULL
07/05/10 00:48:31
>>37
おらくるがいんじゃね?
40:NAME IS NULL
07/05/10 02:02:18
おはよ。さて勉強再開しよ。いま参考にしているサイト。
URLリンク(wagby.com)
URLリンク(homepage1.nifty.com)
URLリンク(www.geocities.co.jp)
…なんか突っ込みくらいそう。
41:NAME IS NULL
07/05/10 02:07:57
GUIで弄れるSQL鯖とからくだよ。
42:NAME IS NULL
07/05/10 02:35:51
…とあるサービスにMySQLの空間をとってて
前に自分で勉強がてらphpMyAdminをぶちこんでいたことが発覚したが
設定全部忘れてる。最初からやり直し。
43:NAME IS NULL
07/05/10 03:12:27
…やっと -u root -p という呪文を覚えた。
すんげぇ疲れた
44:NAME IS NULL
07/05/10 05:38:34
チラシの裏に書くべき事をここに延々と書くな
45:NAME IS NULL
07/05/10 17:34:55
当たり前かもしれないのですが、レプリケーションって同じテーブルタイプじゃないとできないんでしょうか?
例えばDDLはまったく同じなInnoDBなテーブルからMyISAMなテーブルへはレプリケーションできないんですかね?
46:NAME IS NULL
07/05/10 22:07:31
>>45
違ってもok
もちろん、MasterとSalveでそれぞれcreate tableしてからレプカを走らせてね
47:NAME IS NULL
07/05/11 00:10:43
質問させてください
mysql4のときはmy.cnfにdatadir=/home/mysqlを追加するだけでよかったのですが
mysql5でdatadirを/home/mysqlにするにはどうしたらいいでしょうか?
48:NAME IS NULL
07/05/11 11:53:50
>>47
変わってないかと。
[mysqld] セッションの中に datadir=xxxx を入れて mysqldをリスタートしる
49:NAME IS NULL
07/05/11 14:31:15
検索用にMyISAMなDBを用意しておいて、データ保管用にInnoなDBを用意しておいてレプリケーションさせるのが最強?
50:NAME IS NULL
07/05/11 15:05:26
レプリカの原理上、そんなことしてもあまり意味はない
51:NAME IS NULL
07/05/11 15:20:41 OiGIVY/k
↓のWarnings: 6768ってどうゆう意味なんでしょう?
6768目のレコードが変ってことなのか、合計6768のレコードがおかしかったってことなのか・・・
mysql> load data infile 'new.txt' into table spict;
Query OK, 31422 rows affected, 6768 warnings (2.21 sec)
Records: 31422 Deleted: 0 Skipped: 0 Warnings: 6768
52:47
07/05/11 16:03:05
>>48
レスありがとうございます。
[mysqld] のすぐ下にdatadir = /home/mysqlと記入すると起動できません。
なぜでしょうか?・・・・
53:NAME IS NULL
07/05/11 17:48:26
>>46
おお、そうなのですか。
当たり前すぎる事なのか、書籍にも書いてなかったので困ってました。
ありがとうございます!
54:NAME IS NULL
07/05/11 17:54:42 NevP4AlU
interBaseのデータをMysqlにコンバートできますでしょうか?
55:NAME IS NULL
07/05/11 18:19:57
つまりレプリケーションの時点で、Myisamの高速性は無効?
56:NAME IS NULL
07/05/12 01:56:52
>>51
warning が6768個あったってこと。
show warnings すれば warning の内容が見れる。
57:NAME IS NULL
07/05/12 12:47:54 HqCZ1kB3
フィールドにidとnameを作って、webサイトからnameを追加したらidが1づつ増やしていくようにしたいのですが、
idにint、nameにvarchar(50)を指定しました。
intの長さはどれくらいにしたらいいでしょうか?
あと設定するところがあればご教授お願いいたします
58:NAME IS NULL
07/05/12 16:16:30
>>57
そのidに何件格納するつもりなのかと、、、、その質問は難件だな。
59:NAME IS NULL
07/05/12 17:28:24 5dWtySei
>>56 ありがとうございます。
show warningsの結果をファイル出力するにはどうしたらいいんでしょう?INTO OUTFILEとか>とか使ってみたんですけど何かエラーでます。
mysql> show warnings into outfile 'warnings.txt';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'into outfile 'warnings.txt'' at line 1
60:NAME IS NULL
07/05/12 21:43:27
intのバイトサイズは不変です
61:NAME IS NULL
07/05/13 03:28:09
データベースっておもしろいな、ハマりそう
62:NAME IS NULL
07/05/13 15:06:24
EUC-JP UTF-8 SHIFT-JIS
どれで作るのがおすすめですか?
63:NAME IS NULL
07/05/13 15:56:41
UTF-8
64:NAME IS NULL
07/05/13 16:07:18
文字化けの恐怖が・・・
65:NAME IS NULL
07/05/13 18:42:27
JISにしておくとメールの文字化け無いけどね。
66:NAME IS NULL
07/05/13 20:29:37
PHPとの連携でいちいち変換しないと
67:NAME IS NULL
07/05/13 22:33:52
>>62
クライアントに合わせれば良いんだけど。
68:NAME IS NULL
07/05/14 04:13:51 6ju7MXtu
Webアプリケーションで使う、MySQLのテーブル設計を勉強したいのですが、
勉強に最適なサイトはありませんか?
掲示板の時はこういうテーブル構成にするとか、
そういった設計から、設計の考え方などを勉強したいのですが、
何か最適なサイトがあれば紹介していただけると嬉しいです。
69:NAME IS NULL
07/05/14 05:28:49
>>68
phpを使ったサイトとして参考になる。
URLリンク(www.nvnetwork.com)
70:NAME IS NULL
07/05/14 11:43:10
>>52
亀レスだが、/home/mysql に システム管理用のデータベース mysql ディレクトリ
が無いとか、パーミッションがおかしいとかじゃないかい。
わからなければエラーログを見るが基本。
71:NAME IS NULL
07/05/14 18:28:32
>>69
色々なところに通報しました
72:NAME IS NULL
07/05/14 18:28:46
>>70
レスありがとうございます。
もうレスがないかと思ってあきらめてました。
70さんを参考にいろいろ試して見ます。
ところでみなさんMySQLのバージョンは4ですか?5ですか?
あとdatadirはどこにしてますか?
73:NAME IS NULL
07/05/14 23:39:02 LAW+Ghic
phpとmysqlでどの程度のことができれば職場で苦労しない?
たとえばショッピングカートが作れれば無問題とか。
74:NAME IS NULL
07/05/14 23:44:38
>>73
そんなあいまいな質問をするようじゃ、職場で苦労する。
仕事は技術も必要だが、一般常識、人間関係のほうがもっと大事。
75:NAME IS NULL
07/05/14 23:59:56 Ho+ISCuc
mysqlのdbは最大64文字までですが
テーブル名は何文字までOKですか?
76:NAME IS NULL
07/05/15 00:35:04
ポータルやるなら決済系だし、業務系なら簿記も知らないと意味が無い。
77:NAME IS NULL
07/05/15 06:08:34
>>76も十分あいまいだと思うが・・w
78:NAME IS NULL
07/05/16 06:03:26 wVK6G4pR
リモートホストにmysqlコマンドで接続しようとしたらエラーが出るのですが、
原因として考えられることはありますでしょうか?
$ mysql -u user1 -h hoge.localhost
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54
79:NAME IS NULL
07/05/16 09:29:06
>>78
原因として考えられることは、たっくさんあるな。
80:NAME IS NULL
07/05/16 14:44:43
>>57
社員名簿でも作るの?俺ならとりあえず4桁にする
81:NAME IS NULL
07/05/16 17:19:21
sql5.0.27 PHP5.2.1で連携しています。
すべてUTF-8で設定していますが
「−」全角のマイナスだけがなぜか?に化けてしまいます。
みなさんはいかがでしょうか?
対策等ご存知であればよろしくお願いいたします。
その他は今のところ問題ないようです。
よろしくお願いいたします。
82:NAME IS NULL
07/05/16 17:50:01
>>81
〜 もだろ?
83:NAME IS NULL
07/05/16 18:34:53
>>82
〜 もでした。
どうしようもないんでしょか?
84:NAME IS NULL
07/05/16 19:41:32
ujisにすれば?当面不都合はないかと。
85:NAME IS NULL
07/05/16 22:53:09
cp932とeucjpmsを使えば解決しそうな予感。
86:NAME IS NULL
07/05/17 20:14:52
WindowsのMySQL Command Line CLientで操作してるんですが、Shift-Jis以外の文字表示は無理なんですか?
87:NAME IS NULL
07/05/17 21:23:52
mysqlをインストールしていたのですが、
/usr/local/mysql/bin/mysql test
と入力すると
ERROR 1045 (28000): Access denied for user 'ユーザ名'@'localhost' (using password: NO)
と言われたので、
/usr/local/mysql/bin/mysql test -p
でパスワードを入力してEnterを押したら
ERROR 1045 (28000): Access denied for user 'ユーザ名'@'localhost' (using password: YES)
と言われてしまいました。
解決法をいろいろと調べてみたのですが相変わらずわかりません。。。
だれかわかる人いましたらよろしくお願いします。
88:87
07/05/17 21:42:45
ちなみに
OS]使用で
/usr/local/mysql/bin/mysql -u root -p
上記では使用することができました。
よろしくお願いします。
89:NAME IS NULL
07/05/17 21:50:42
>>86
character_set_results
90:NAME IS NULL
07/05/17 21:52:21
>>88
grant
91:87
07/05/17 21:55:49
>>90
ありがとうございます。
最初はrootのみでしか使えないということなのでしょうか?
92:NAME IS NULL
07/05/17 22:02:09
>>91
ドキュメント嫁
URLリンク(dev.mysql.com)
93:NAME IS NULL
07/05/17 23:59:56 +ucqrGEe
マックosxにインストールしたんですが、
C―APIの動的ライブラリの場所、名前を教えて頂けないでしょうか。
94:NAME IS NULL
07/05/18 00:10:32
>>93
マニュアル嫁
URLリンク(dev.mysql.com)
95:NAME IS NULL
07/05/18 03:25:37 96NrWpJ/
selectの後ろに\Gつけると
ERROR:
No query specified
ってなるんですけど、これどうゆう意味ですか?
96:NAME IS NULL
07/05/18 12:27:11
>>95
クエリが無いって言ってるジャン
エイゴワーカリマスカ?
\G の前に ; をつけてるだろ。
97:NAME IS NULL
07/05/18 19:01:48 2q7j7eIB
どちらのテーブル構造にするかでまよってます。
(1)目的
たくさんのPCのD:ドライブについて、ファイル名とそのファイルのサイズを格納する。
PC1 /a/b/c/d 100等
で、これをがんがん検索する。PC1の一覧とかPC2の/a配下の一覧とか
PC 10000台くらいまで、ファイル/PC 1000ファイルくらいまで。
(2)テーブル構造案1
PC名、ファイルパス、サイズ
例:PC1, /a/b/c/d/e, 100
(3)テーブル構造案2
PC名、セグメント1.セグメント2、…、セグメント10、サイズ
セグメント:ファイルパス中のセグメント
例:PC1, a, b, c, d, e, , , , , 100
質問:
システム構造案2の方が検索は早いのでしょうか?
#一見そんな気もするのですがよくわかりません。
格納するときも、検索するときも面倒くさいので、構造案1
にしたいのです。
98:NAME IS NULL
07/05/18 19:23:26
>>97
???日本の方???
"データベース 正規化" でググって勉強しる。
99:NAME IS NULL
07/05/18 19:55:20
>>97
とりあえず 案1で、文字列index効かせればいんでないの。
ただ、フルパス限定。 c を含む物を探すとなると途端に
使い物にならんだろね。
100:NAME IS NULL
07/05/19 00:57:38 dKYDsDbp
osx でプログラムをコンパイルしようとすると、
/usr/bin/ld: truncated or malformed archive: /usr/local/mysql-max-5.0.27-osx10.4-powerpc-64bit/lib/libmysqlclient.a (ranlib structures in table of contents extends past the end of the table of contents, can't load from it)
何ていわれて先に進みません。対処法をご存知のかたご教授願います。
101:NAME IS NULL
07/05/19 02:15:32 g2N/Bu9q
>>99
検索は以下の形だけです。
「PC1の/a/b/配下の一覧表示」
案1でPC名とファイルパスでインデックスを作成する。
like '/a/b/c/%'で検索
案2でPC名とセグメント1,2,3,4,5,…,10でインデックスを作成する
seg1=a and seg2=b and seg3=c で検索
どっちが早いのでしょうか?
インデックスの作られ方をちょっと勉強してみましたが、案1も案2も同じようなインデックスが
出来上がるように思いました。
102:NAME IS NULL
07/05/19 03:51:49
>>100 これの話かな?
URLリンク(bugs.mysql.com)
103:NAME IS NULL
07/05/19 06:00:51 eFxrLNmp
explainてselectにしかつけれないの?
他の命令でインデックス使ってるか確認する時は
selectに直すしかない?
104:NAME IS NULL
07/05/19 07:10:09
selectにすればいいんでねーの。 なんでダメなん?
105:NAME IS NULL
07/05/19 08:35:46 dKYDsDbp
>>102
英語判らんけど、ppc-g5だとコンパイルできないって事かな。
106:NAME IS NULL
07/05/19 15:09:36
mysql3.23.58でどうあがいても文字化けしちゃうのってあります?
文字化けというより検索で他のがヒットしちゃう。
バイナリーで回避できるけど、textだと指定できないことに気づき再度悩み中。
他のサイトではバグというか日本語対応してなくて、それを回避する場合、
4.1以上にと書いてあったのですがこのとおりでしょうか?
もしその場合、3.23.58からだとやっぱり今は5に切り替えるのがベストでしょうか?
107:NAME IS NULL
07/05/19 16:01:19
>>106
mysqld 起動時の charset と格納されているデータの charset が異なるとか
108:NAME IS NULL
07/05/19 16:45:44
>107
4以下は日本語は日本語として扱われず、完全には無理っぽくて
a-zA-Z に一致するバイト列があれば強制的に変換........
という感じの記述を検索で見つけたので、
質問してみたのですが、設定がパーフェクトなら、
アップしなくてもすべてうまくいくと考えてよいということで
根本的な問題は、設定間違いと考えていいということでしょうか。
109:NAME IS NULL
07/05/19 19:03:36
>107
すんません。
ご指摘の対応で解決できました。バージョンアップしなくてすみました。
どもでした。
110:NAME IS NULL
07/05/20 05:30:07 2GXp1HU+
下記のテーブル名AAAがあります。担当者番号は重複しているレコードが大量にあります
レコード番号(int primary key)+++ 担当者番号(int)+++取引金額(int)+++
このようなテーブルがあった場合、担当者番号ごとに取引金額が最も多いレコード番号をselectするためにはどういうSQL文になりますか?
111:NAME IS NULL
07/05/20 08:29:35
MySQL Connector/ODBC 3.51.15
URLリンク(dev.mysql.com)
うちでは3.51.14は問題多くて使いものにならなかったけど
今のところ問題なし
112:NAME IS NULL
07/05/20 11:00:07 WPBssusO
>>110
SQLの前に日本語しっかりな。
113:NAME IS NULL
07/05/20 13:36:48
チョン?
114:NAME IS NULL
07/05/20 15:00:26
>>110
MAX() と GROUP BY を使って、2秒で出来る初歩的SQLです。
あとは努力しましょう。
115:NAME IS NULL
07/05/20 23:32:21
表の作成をしようと思いCREATEを使用したのですが、
ERROR 1046 (3D000): No database selected
と表示されてしまいます。
原因がわからないのですが誰か教えていただけないでしょうか。
116:NAME IS NULL
07/05/20 23:33:37
>>115
表の前にまずDBを作れ。
117:NAME IS NULL
07/05/20 23:35:14
データベースを選択する時には、
use データベース名;
というコマンドでいけますが、データベースの選択を解除するにはどうしたら良いでしょうか?
use none; とか use; とか色々試してみましたが、無理でした。
118:NAME IS NULL
07/05/20 23:39:09
何もデータベースを選択してない、という状態が必要なの?
119:NAME IS NULL
07/05/20 23:40:40
quitしてもう一回接続すれば?
120:117
07/05/20 23:42:05
>>118
なんとなくです
>>119
やっぱそれしかないですかね('A`)
121:NAME IS NULL
07/05/20 23:42:59
>>116
わかりました!ありがとうございます。
122:NAME IS NULL
07/05/21 03:03:05
コマンドプロントでeditでエディタが起動するけど
これってどう閉じるの?&使用用途を教えてくだされ
123:NAME IS NULL
07/05/21 07:25:52
>>122
環境変数 $EDITOR に指定したテキストエディタが起動する
\! echo $EDITOR か system echo $EDITOR で確認
標準は vi かな?
エディタでSQLを編集して保存終了してから
デリミタ(普通はセミコロン)で実行
環境変数の指定方法とか、エディタの使い方はググる
124:NAME IS NULL
07/05/21 12:47:48
>>123
ちょっとわかりました。
使い方ググってみます
125:NAME IS NULL
07/05/21 14:53:52
表の作成時の指定で 011.44.134.42 や .2 などを入力するにはどの型を指定すればよいのでしょうか。
126:NAME IS NULL
07/05/21 15:10:26
>>125
IPすか?
127:NAME IS NULL
07/05/21 16:56:03
>>125
自分なら、VARCHAR(最大文字数) にするね。
128:NAME IS NULL
07/05/21 18:50:19
俺もvarchar(15)でやってる
ipをintにする関数があった気するけど視認性下がるから
129:NAME IS NULL
07/05/21 20:18:41
みなさんありがとうございます。
こちらの勘違いで011と挿入すると表示では11になって困っていたのですが、
シングルクォーテーションで囲んでいなかっただけでした。
ご迷惑をおかけして申し訳ありませんでした。
130:NAME IS NULL
07/05/22 11:52:18 8/PhpwlH
ストアドプロシジャのことで質問させてください。
プロシジャの中で、まず最初にselectします。結果は複数レコードになります。
この複数のレコードをプロシジャ内の変数に一度代入して、その結果セットをさらにそのプロシジャ内で条件分岐とかしたいのですが、
結果セットを代入する変数の型っていうのは何になるのでしょうか?
131:NAME IS NULL
07/05/22 21:53:17
MySQL4.1をPHP4.3から利用してます。両方UTF-8で利用していて、ORDER BYで
並べ替えしたいのですが、日本語(ひらがな)の並びが間違って出て来ます。
降順と昇順を入れ替えると間違った並びのまま逆さになります。
同じ環境で英文字の並べ替えは問題なく動作しています。
対処法などご存知の方お願いします。
132:131
07/05/23 09:54:22
>>131
自己解決。COLUMN COLLATEをutf8_unicode_ciとしたら正常に動作しました。
133:NAME IS NULL
07/05/23 11:21:47
>>130
CURSOR以外でってこと?
134:NAME IS NULL
07/05/24 15:36:16 rlJddH2x
二つのテーブルに共通のフィールドがあるとして、
その共通のフィールドを手がかりに、
一方しか持っていないデータを違うテーブルからセレクトして取得するにはどうすればいいんでしょうか。
135:NAME IS NULL
07/05/24 16:55:19
>>134
join して nullを探せばどうよ。
136:NAME IS NULL
07/05/25 03:20:04 2/gsg6oI
>>135
調べてやってみます!!ありがとう!
137:NAME IS NULL
07/05/25 15:24:22
MySQL5.0を使っています。
区分 日付 内容
1 2007/03/01 その1
2 2007/04/05 その2
1 2007/04/06 その3
3 2007/04/26 その4
2 2007/05/09 その5
このように区分と日付をキーにしたデータの入っているテーブルから、
1 2007/04/06 その3
2 2007/05/09 その5
3 2007/04/26 その4
のように、区分ごとに最新のレコードを取得したいのですが、
どのようなクエリを書けばいいのかが分かりません。
そもそも、1回のクエリでできるものなのでしょうか?
それとも、区分の回数だけループを回して、1つずつ取得しなければいけないでしょうか?
どなたか教えてください・・・
138:NAME IS NULL
07/05/25 17:55:57
>>137
SELECT *
FROM data
WHERE (kubun, hiduke) in
(SELECT MIN(kubun), MAX(hiduke) FROM data GROUP BY kubun)
order by kubun;
実行パフォーマンスは最悪なので
データ量が多い場合は、分けてループした方がいいかも。
139:NAME IS NULL
07/05/25 19:55:44
/' ! ━┓┃┃
-‐'―ニ二二二二ニ>ヽ、 ┃ ━━━━
ァ /,,ィ=-;;,,, , ,,_ ト-、 ) ┃ ┃┃┃
' Y ー==j 〈,,二,゙ ! ) 。 ┛
ゝ. {、 - ,. ヾ "^ } } ゚ 。
) ,. ‘-,,' ≦ 三
ゞ, ∧ヾ ゝ'゚ グ ≦ 三 ゚。 ゚
'=-/ ヽ゚ 。≧ ッ 三 ==-
/ |ヽ \-ァ, ド ≧=- 。
! \ イレ,、 コ >三 。゚ ・ ゚
| >≦`Vヾ | ヾ ≧
〉 ,く 。゚ /。・イハ 、、 ヒ `ミ 。 ゚ 。 ・
140:WebProg板から誘導されてきますた
07/05/26 12:01:44 WWQOXdm+
■環境情報
海外DreamHostレンタルサーバー PHP 5.2.1 & MySQL 5
■データベース情報
データベース名: test
フィールド名: date (datetime型)
という環境を使用しています。
海外サーバーのため、時差設定に苦戦しています。
SET time_zone = '+09:00';
INSERT INTO `test` ( `date` ) VALUES (NOW( ));
をSQLから実行してみたところ、とりあえずSQLからは
無事日本時間がデータベースに格納されました。
しかし、これをPHPからSQL文を送って実行しようとすると、
$sql = <<<EOS
SET time_zone = '+09:00';
INSERT INTO `test` ( `date` ) VALUES (NOW( ));
EOS;
うまく動いてくれません。。。
初心者すぎてスミマセン・・・orz
141:NAME IS NULL
07/05/26 14:25:46
>>140
その$sql変数に、代わりに select * from test を入れてちゃうと動くんだろうね?
142:NAME IS NULL
07/05/26 14:42:58
>>140
mysqliのmysqli_multi_query()関数を使えば動くようになる、てオチじゃないだろうね?
143:140
07/05/26 15:26:11 WWQOXdm+
$sql = "SET time_zone = '+09:00'";
mysql_query( $sql );
$sql = "INSERT INTO `test` ( `date` ) VALUES (NOW( ))";
mysql_query( $sql );
で動くようになりますた。
お騒がせしますたm(_ _")m
144:NAME IS NULL
07/05/27 02:47:19
なんか効率無視だな(w
145:NAME IS NULL
07/05/27 06:12:31
効率良いのを教えてください ><
146:NAME IS NULL
07/05/28 03:14:08
レコードの件数を調べるのにselect count(*)を使うというのが分かったのですが、
以下のようにしたら「Resource id #3」と表示されてしまいます。
$sql="select count(*) from faq";
$result=mysql_query($sql);
echo $result;
どのようにすればカウント数が表示されますか?
147:NAME IS NULL
07/05/28 06:40:04
>>146
PHPのmysql_query()の説明をよく読め
148:NAME IS NULL
07/05/29 00:03:08
そこでperlですよ
149:NAME IS NULL
07/05/29 01:05:43
>>146
あんた、いい芸人になれるわ
150:NAME IS NULL
07/05/29 01:08:32 pWsap/AA
レプリケーションのマスタが落ちた場合、スレーブをマスタに切り替えて
運用するには RESET SLAVE でスレーブ解除すれば良いの?
151:NAME IS NULL
07/05/29 21:36:12
有料で提供するASP(アプリケーション・サービス・プロバイダ)のバッグエンドにMySQLを利用する場合、
エンタープライズで無くても大丈夫でしょうか?
152:NAME IS NULL
07/05/29 22:07:27
そんな事を2chで聞いてるお前に問題があるな、少なくとも。
153:くきくき
07/05/29 23:10:32 tiIImBH4
エラー内容は、error nr.1045というものです。
環境は、XP でノートンいれてあります。だけど
スクリプト遮断は、はずしております。あと、ルータも
かましています。特に、ポートを空けるとかしていないです。
空けなくてはいけないのかな?
154:NAME IS NULL
07/05/30 01:48:50
TEXT型のカラムにunique制約を追加することは可能でしょうか?
以下のエラーが表示されます。
長さを固定してやらなければならないのでしょうかね?
#1170 - BLOB/TEXT column 'col1' used in key specification without a key length
可能であればその方法を教えてくださいませ。
155:NAME IS NULL
07/05/30 08:25:59
>>154
まずマニュアルを読むこと
URLリンク(dev.mysql.com)
156:154
07/05/30 22:24:35
>155
ありがとうございます。
長さを指定すると作成することが可能ということが分かりました。
しかし、255バイトまでしか指定できず、
256文字以降は重複チェックがされないようです。
これは、格納されている値すべてを比較の対象にすることは不可能ということでしょうか?
もし可能なのであれば、ご教授頂ければ幸いです。
157:NAME IS NULL
07/05/30 23:17:54
>>156
はい、無理です。
その代わり、カラムをSHA1()関数にかけた値を保存し、
これをUNIQUEにするのはどうでしょうか?
バッティングは非常に少ないと思います。
158:154
07/05/31 18:07:20
>157
なるほど大変勉強になりました。
また同時にmd5はイケてない事も分かりました。
ありがとうございました!
どこかで出会う事があればお酒でもご馳走したい気持ちでいっぱいです。
159:157
07/05/31 18:42:04
>>158
私が勤務する会社でSennaというソフトの開発をやっているので、
そちらを使っていただけると大変うれしいです。
TritonnというソフトでMySQLと橋渡しができます。
160:NAME IS NULL
07/05/31 20:03:01
特定しました
161:NAME IS NULL
07/05/31 20:17:33
Sennaってレコード数が増えると途端にパフォーマンスが落ちるよね。
キーワードによってはエンジンブローしたかと思うほど時間がかかる場合があり
井出有治にも負けそうな気配。
2nd入れても変わらず・・・で、検証で捨てた経験あり。
162:NAME IS NULL
07/05/31 20:20:50
md5バッティングするってマジですか?
md5でつこうてるんだけど
どのくらいの確率でバッティングするの?
163:157
07/05/31 21:38:48
>>161
激しくスレ違いだが、たぶんメモリ不足だと思う。
あとは大きなデータベースだとパラメータ設定しないと遅い。
ま、パラメータ設定するとさらにメモリを食うわけだが…
MD5でも実用上問題ないと思う、個人的には。
164:NAME IS NULL
07/05/31 23:40:19
>>162
バントしたらホームランになっちゃった くらいの確率
165:NAME IS NULL
07/06/01 06:30:54
でも業務だと、常にホームランが求められるけどな。
バッティングしたから、おまいの口座データ壊れたじゃシャレに成らん。
メモリ増やせるくらいなら、mysqlじゃなくてオラクル使ってる余裕あると思うよ。
金無いから、mysqlってのはよくあるパターン。
166:NAME IS NULL
07/06/01 10:46:49
>>162
固定長を吐き出すダイジェスト関数でバッティングしないのを作れたら
大金持ちになれそうだ。
167:NAME IS NULL
07/06/01 11:08:08 /eOI7xda
syaryoテーブル
syaryo,tantosya,seibisya
tantoテーブル
tantoID,name
tantosya seibisya はいづれも tantoID を見てnameを出させたいです。
よろしくお願いいたします。
168:167
07/06/01 11:10:31 /eOI7xda
結果を
syaryo | name | name ←整備者名
↑
担当者名
です。よろしくお願いいたします。
169:NAME IS NULL
07/06/01 11:40:57
MySQLのみで、フィールド中の「AAA」という文字列のみを削除する…ってことはできるのでしょうか?
170:NAME IS NULL
07/06/01 12:38:24
>>169
MySQLの文字列関数使えば余裕で出来るよ
171:NAME IS NULL
07/06/01 15:26:06
>>168
ニホンゴワカリマスカ?
リカイニクルシミマシタガ、コンナカンジデース。
select * from syaryo s
left join tanto n1 on n1.tantoID=s.tantosya
left join tanto n2 on n2.tantoID=s.seibisya;
172:167
07/06/01 16:22:32 /eOI7xda
SELECT s1.syaryo,t1.name,t2.name
FROM syaryo as s1,tanto as t1,tanto as t2
where s1.tantousya = t1.tID and s1.seibisya = t2.tID
でいけました。
ありがとうございました。
173:169
07/06/01 17:32:56
>>170
ありがとうございます。
今までPerlとかスクリプト側で処理していたので、MySQLの関数は活用してませんでした。
REPLACEでできそうです(まんまの関数だった…)。
174:NAME IS NULL
07/06/02 01:46:08
phpのセッションも指定しないかぎりmd5じゃん。
そんな不確かなものの上にセッションは成り立っていたのか・・・
175:NAME IS NULL
07/06/02 15:46:23
>>174
PHPのセッションはカゲロウ山のようなものです
176:NAME IS NULL
07/06/02 16:39:28
質問です!
Fedora Core3に
MySQL-server-5.0.41-0.glibc23.i386.rpm
および関係パッケージ一式をインストールして、
無事に動作したのですが、何故か終了が出来ません。
/usr/bin/mysqladmin shutdown
を実行すると反応が返ってこなくなり、
/usr/bin/mysqladmin status
も帰ってこなくなります。
ネットで調べても類例が全くなかったのですが、
どなたか原因に心当たりがありませんでしょうか。
177:NAME IS NULL
07/06/03 00:42:13
mysqladmin pingすら帰ってこない悪寒。
178:NAME IS NULL
07/06/04 09:38:07
rpmで入れたのなら/etc/rc.d/init.d/ のスクリプトで起動・終了した方がいいんでない?
179:NAME IS NULL
07/06/04 15:12:08
質問です。
レセプションの設定をし、slave startをしているのですが、どうもmasterの方で弾いてるらしく、
ちょっと詰まっています。
一応、レセプションの設定は間違いないと思うのですが、何か引っかかるところなんぞあるんでし
ょうか?
一応、/etc/serviceでポート開放し、ファイヤーウォールの設定でもポート開放をしています。
エラーメッセージは、
Slave I/O thread: error connecting to master 'repl@XXX.XXX.XXX.XXX:3306':
Error: 'Host 'XXX.XXX.XXX.XXX' is not allowed to connect to this MySQL server'
errno: 1130 retry-time: 60 retries: 86400
と出ていて、masterのMySQLの方の問題だと思うのですが。
180:NAME IS NULL
07/06/04 15:19:14
レプリケーションだった orz
181:NAME IS NULL
07/06/04 16:37:50
>>179
スレーブ側のmysqlクライアントでユーザreplを指定して
マスタ側のMySQLサーバにログイン出来てる?
182:NAME IS NULL
07/06/04 16:52:26
RESありがとうございます。
まだやってませんでした。
GRANTで一度リモートログインの設定をした方が良いですよね?
今の権限はレプリケーションのみなので。
183:NAME IS NULL
07/06/04 18:03:45
自己解決しました。
結局、GRANTで管理者権限を渡し、コネクト出来るようになりました。
ただ、これだとLocal上で使うものとは言え、ちょっとザルっぽいので、GRANTで権限をある程度
絞ろうかと思います。
ではでは
184:NAME IS NULL
07/06/05 03:48:22
INSERT時にある値があればそれを、無ければauto_incrementされたNoと
同じ値を入れたいカラムがあるんですが、INSERTと同時にauto_incrementされた数値を指定するような定数等ってあるのでしょうか?
今のところ、INSERTした後にUPDATEして書き換えています。
col1|col2
1|値 又は 1
185:NAME IS NULL
07/06/05 13:03:24
>>184
> 次の AUTO_INCREMENT 値は、オートキーに使用された最高値に 1 を加えた値になる。
とい特性を信じてサブクエリで更新することは出来そうだが、サブクエリを使うぐらい
なら、updateした方が良いかも。
186:NAME IS NULL
07/06/05 13:22:11
>>184
LAST_INSERT_ID()
187:NAME IS NULL
07/06/05 16:20:12
>>186
よく嫁
188:NAME IS NULL
07/06/05 22:03:14
>>184
たぶんテーブル構造を見直した方がいいと思われるけど、
いまのままならアップデートしかないんでないの。
189:184
07/06/06 12:04:56
有難う御座います。
やり方を変えれば、SELECTする際にIFでNoかこのカラムを取ってくるようにする事は出来るのですが
基本的に更新は殆ど無く、参照が大量のためこのような感じにしました。
今のUPDATEで進めて見ます。
190:NAME IS NULL
07/06/06 14:22:13 IsGwhVyT
質問です。
ソートした母集団にナンバリングするためには
どうしたら良いでしょうか?
100件中、自分が何番目なのかを確認したいです。
set @temp := 0;
SELECT @temp := @temp + 1 from ...
ではなく、1SQLで完結できる方法を検討したいです。
できればテーブルにインサートする方法も使いたくありません。
同着10位が3人居ても、全員10位にする方法であれば
実装できましたが
同着10位には、それぞれ10、11、12とナンバリングしたいです。
191:NAME IS NULL
07/06/06 15:24:47
>>190
変数使ってもいいなら、こういう方法があるらしいよ。
select @rank:=@rank+1 rank, t1.*
from (select * from table1 order by col1) t1,
(select @rank:=0) t2;
192:191
07/06/06 15:49:09
あ、where句で抜き出すならもう少しだけ工夫が要るか
193:NAME IS NULL
07/06/06 17:09:49
MySQL Custerの事で聞きたいんですが、基本的にClusterの利点は負荷分散とリカバリー時の即効性
と言うことでしょうか?
例えば、DB自体の容量肥大化に関する利点というものはClusterではまかなえないのでしょうか?
194:190
07/06/06 20:25:01 IsGwhVyT
>191
ありがとございます。
195:NAME IS NULL
07/06/06 21:58:45
>>193
メモリが……
196:NAME IS NULL
07/06/07 01:53:25
64bitにすれば理論値は十分でしょ。
あとはメモリ積めるハードを選べばおk。
197:NAME IS NULL
07/06/07 23:41:41 7GQ86/Vg
板違いでしたらご指摘下さい。
VS2003を使って接続しようとすると
Host 'PC-hoge' is not allowed to connect to this MySQL server
とエラーが出ます。
MySQLは別PCですが、単に接続しようとしたPCが拒否されたと思っていますが、なぜ拒否されたのか判りません。
サーバーへの接続はIPアドレスで指定し、ユーザーは「root」パスワードはコマンドラインに最初に入力するパスワードを入れています。
根本から間違えているのでしょうか?
198:NAME IS NULL
07/06/08 11:14:09
>>197
grant って知ってる?
199:NAME IS NULL
07/06/08 14:07:27 BCjwMJBL
こんにちは。おそらく度素人の質問だと思うのですがお許しください。
検索してもどこにも見当たらないので・・・・・
フィールドにつくフラグでnotnullはnullを許さない。autoincは自動で数字を増やしてく、ってことはわかったのですが、それ以外のunsignedとzerofillの意味がわかりません。ご教授いただけないでしょうか?
200:NAME IS NULL
07/06/08 15:14:55
符号を保存せずに値の範囲を変えたり隙間をゼロで埋めたりっつー話じゃないの?
201:NAME IS NULL
07/06/08 15:25:45 BCjwMJBL
>>200
すみません、それの意味することを教えていただけないでしょうか
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4096日前に更新/290 KB
担当:undef