MySQL 総合 Part13
..
596:NAME IS NULL
08/04/16 22:54:41
すいません、意味が分からないので質問変えます
公式では5.0.51aまでしかDLできないので、URLにある5.0.58が非常に気になります。
インストールして使用することに問題はないのでしょうか?
597:NAME IS NULL
08/04/17 00:05:56
>>596
>>595のリンク先はEnterpriseで有償
Community Serverは無償
598:NAME IS NULL
08/04/17 03:47:31
MySQL Conference & Expo 2008からカキコ
599:590です。
08/04/17 08:37:37 xQuLnTlv
insert into address (id,name,zip,city,addr,tel,date) values (1,'山田花子','100-0000','東京都千代田区',' 千代田1-1-1','012-345-6789',now())
;
これでいくかな?
600:NAME IS NULL
08/04/17 08:44:00 k/clcQ5/
MySQL5.0+php5でシステムを組んでいるのですが、
Out of memory (Needed xxxxxx bytes)
のエラーが頻繁に出て対処に困っています。
メモリーは2GBで、アクセス数は1時間で4000PV位です。
メモリーはサーバーの仕様でこれ以上増やせないのですが、
my.cfのどこかの設定値を変更して対応することは可能でしょうか?
宜しくお願いします。
601:NAME IS NULL
08/04/17 09:41:28
>>600
エラーを吐いてるのは mysqld?クライアント側?
602:NAME IS NULL
08/04/17 09:52:46
>>600
多分php.iniのココ。
memory_limit = **M
603:NAME IS NULL
08/04/17 09:54:21 k/clcQ5/
>>601
phpから、DBにコネクションを確立した後、SQL文を実行した際に発生しています。
ちなみに、このエラーの発生頻度は約30回/日です。PVは6万PV/日、実行SQL数80万SQL/日です。
宜しくお願いします。
604:Zeno ◆5nZQbNmQPs
08/04/17 16:22:49 dYEsVLTe
Sun Microsystems が MySQL のソースコードをクローズするらしいな。
つまり、 MySQL がオープンソースではなくなるということだ。
買収した会社が Sun 故にこうなることは予想できていたが、その実行が予想より早くなりそうだ。
Sun は本気で死ね。
Sun to Begin Close Sourcing MySQL
URLリンク(developers.slashdot.org)
605:NAME IS NULL
08/04/17 16:49:44
>>603
大量のクエリ結果を配列にぶち込んでるからじゃね?
606:NAME IS NULL
08/04/17 19:02:36 wr9HmqHR
初心者です。
しょうもない質問ですが、みんな結合テーブルを使ったselectとかバキバキ
利用してるんでしょうか?
URLリンク(www.techscore.com) を見て今勉強してます
これは、結果的にどういうメリットがあるんでしょう?
複数回クエリする必要がなくなる→負荷とエラーの発生率が下がる ということですか?
607:NAME IS NULL
08/04/17 19:54:13
example.jp からのみ許可するMysqlユーザを作成して
example.jp からアクセスしてみたら、
Host 'example.com' is not allowed to connect to this MySQL server
ってエラーが出た。
example.com ってどこから読んでるの?
OSはLinuxって
hostname しても example.jp ってちゃんと表示されるんだけど。
逆引きしてもちゃんとexample.jp になるし。
どなたかヘルプミー
608:NAME IS NULL
08/04/17 20:07:21
> example.jp からのみ許可するMysqlユーザを作成して
ここの作業間違ったんだろうが。
609:NAME IS NULL
08/04/17 20:07:45
>>606
正規化を勉強しなさい。
610:NAME IS NULL
08/04/17 20:10:22
>>608
グローバルIPに対し接続を許可するつもりかい?
611:NAME IS NULL
08/04/17 20:40:54
>>607
そのうちわかるよw
localhostとかいろいろトライ。
612:NAME IS NULL
08/04/17 21:04:35
>>604
Mickosがはっきり否定してるぞ
URLリンク(developers.slashdot.org)
It is not a quesiton of close sourcing any existing code,
nor anything in the core server.
Everything we have released under GPL continues to be under GPL,
and the core server will always be under GPL (or some other FOSS licence).
613:606
08/04/17 21:36:42 wr9HmqHR
>>609
ありがとうございます。
正規化は勉強しているつもりなんですが、気になったので上記の質問をさせてもらいました。
引き続いての質問で恐縮ですが、
SELECT 受注表.納品日,商品表.商品名
FROM 受注表,商品表
WHERE 受注表.納品日 = '20010401'
AND 受注表.商品コード = 商品表.商品コード ;
とあるとき、受注表テーブルまたは商品表テーブルのどちらかがカラの時は
何も結果が返ってこないと考えていいのでしょうか?
かりに商品表テーブルがカラの時、「受注表.納品日」だけでも
戻ってくるということはないと考えていいのかな、と。
ためしに似たようなものを実行して試したんですが、何も戻ってきませんでした
自分のテストミスなのか・それでOKなのかわからないので教えてください すみません
614:606
08/04/17 21:43:59 wr9HmqHR
すみません >>613の
>ためしに似たようなものを実行して試したんですが、何も戻ってきませんでした
という部分ですが、
WHERE 受注表.納品日 = '20010401'
AND 受注表.商品コード = 商品表.商品コード ;
はもちろんのこと、二行目を削除して
WHERE 受注表.納品日 = '20010401';
だけでやっても何も戻ってきませんでした
こういうものなんでしょうか?
615:NAME IS NULL
08/04/17 23:40:59
GPLなのにclosedに出来るの?
616:NAME IS NULL
08/04/18 03:12:10
MySQL、新機能追加は有償版の「MySQL Enterprise」だけを対象に
URLリンク(www.technobahn.com)
Linuxを代表するオープンソースベースのリレーショナルデータベース管理システムのMySQL
が近くソースコードの公開を停止する方向で準備を進めていることが16日、米カリフォル
ニア州サンタクララで開催中のMySQLコンファレンスの席上で明らかとなった。
617:NAME IS NULL
08/04/18 06:10:56 KIEogQYQ
MySQLオワタ
618:NAME IS NULL
08/04/18 06:49:14
Sunノバビッチ!
619:NAME IS NULL
08/04/18 11:28:11
すみません、ご教授いただきたいのですが、
◆現状
XOOPS使用の為、MySQL4.0.27を文字コードEUCで稼働
◆やりたいこと
→1台のサーバで、XOOPS・OpenPNEの稼働
◆困っていること
→OpenPNEが文字コードUTF-8の為、文字コードUTF-8のデータベースを用意しなければならないが
1台のサーバに入っているMySQLで、データベースごとに文字コードを変えられるか分からない
宜しくお願い致します。
もう1台別のサーバを用意して、そっちでUTF-8のMySQLを用意した方が無難ですかね・・・
620:NAME IS NULL
08/04/18 12:30:23
>>619
変えられる
621:NAME IS NULL
08/04/18 12:33:57
>>614
受注表.納品日 = '20010401' にマッチするデータあるの?
リレーションの前に1テーブルで自在にクエリできるようになれば。
622:619
08/04/18 12:45:41
>>620
ありがとうございます。
すみません、教えて君で申し訳ないのですが、がんばってググってはみたのですが、
どうも目的の事象を見つけられず具体的にはどうしたらいいのか分からず困ってます。
普通に CREATE DATABASE `DBNAME` DEFAULT CHARACTER SET utf8 ; でいいのかと思ったのですが、
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 'DEFAULT CHARACTER SET utf8' at line 1
と、エラーを吐かれてしまって・・・
宜しくお願い致します。
623:NAME IS NULL
08/04/18 13:08:05
>>622
データベースは
create database hoge character set 'utf8';
テーブルは
create table hoge (.. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
624:619
08/04/18 13:48:35
>>623
ありがとうございます。
create database hoge character set 'utf8'; で、やってみたのですがダメでした・・・
エラーは同じ、
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 'character set 'utf8'' at line 1
です。
最初のインストール時のオプション指定が影響したりとかってしますか?
ちなみに、こんな感じでインストールしてます。
./configure \
--prefix=/usr/local \
--localstatedir=/var/mysql/data \
--with-mysqld-user=mysql \
--enable-assembler \
--with-mysqld-ldflags=-static \
--with-client-ldflags=-static \
--disable-shared \
--enable-local-infile \
--with-extra-charsets=all \
--with-charset=ujis \
--with-collation=ujis_japanese_ci \
--without-debug \
--without-bench
宜しくお願い致します。
625:NAME IS NULL
08/04/18 14:31:30
>>624
うちは5.0だけど、
create database hoge ; で、データベース作成時には何も指定無しで、
create table hage (....) Engine=MyISAM CHARSER=utf8 ; で出来ないか?
(うちはそれで、Serverデフォルトutf8、特定のテーブルのみcp932で動いてるよ。)
626:614
08/04/18 16:21:37
>>621
ありがとうございます
>受注表.納品日 = '20010401' にマッチするデータあるの?
あります。
あるなら、まともにクエリ成功してるはず と考えて良いのでしょうか?
僕の操作ミスかな?
627:NAME IS NULL
08/04/18 18:20:04
すいません、カラム名を変更したいのですがどなたかご教示いただけないでしょうか。
バージョン:mysql5.0
db:test
table:tabletest
column:key,colum1,colum2
という構成にしています。
colum1をcolumn1に名前を変更したいのですが、
alter table tabletest change colum1 column1;
と入れても
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 '' at line 1
と、エラーが出ます。構文が間違ってると言われているようなのですが、
マニュアルサイトでは
mysql> ALTER TABLE テーブル名 CHANGE 古いカラム名 新しいカラム名;
と記載されておりどこが間違っているのかわかりません。
お願いします。
628:NAME IS NULL
08/04/18 18:52:52
すいません、末尾にデータ型を付け足したら変更できました。
629:NAME IS NULL
08/04/18 21:38:16
質問させて下さい。
Ubuntu7.1 serverとMySQL5.0.45を使っています。
データのインポートが異常に遅いのです。
以前まではx86版Ubuntuを使っていましたが、64bit版に変えました。
以前と設定もハードウェア構成もは全く同じなのです。
前もってphpmyadminを使ってエクスポートでとっておいたgzip圧縮のSQL文によるバックアップを
現環境のMySQLにインポートしているのですが、インポート実行時間が以前の50倍くらい遅くなっています。
時間をかければインポートできますが、大きめのデータだと何日まてばよいかわからない状況です。
topコマンドでは常にCPU100%でロードアベレージも1です。
メモリは8Gあって空きはまだ4G以上あります。
DBは全てinnodbです。
phpmyadminのランタイム情報を見ると、SQLの実行に関して
失敗回数 1,084 785.67 95.93%
と出ています。
もしかして失敗によるコミットとロールバックを繰り返しているから遅いのかなと思ったりもするのですが
原因がわからずにほとほと困り果てております。
もし宜しければお力添え頂けないでしょうか。
宜しくお願い致します。
630:NAME IS NULL
08/04/18 22:06:28 qYojHQc3
今月〜来月の間(1ヶ月間)と言うのを出したいと思っています。
PHPを使って今月と来月をdate関数で出して、範囲検索で抽出できると思いますが、
それをSQLだけでする方法ってありませんでしょうか?
631:NAME IS NULL
08/04/18 22:14:43
>>630
今月〜来月の間の「何を」出したいんだ?
質問をする前に人に分かる日本語を書くよう心がけてよ
632:NAME IS NULL
08/04/18 22:21:54
せめて表の構造くらい語ってくれよ…
633:630
08/04/18 22:32:10 qYojHQc3
>>631
申し訳ないです。。
登録されているdateにたいして、
「今月」〜「来月」という値を抽出したいと思っています。
考え方としては
WHERE date BETWEEN '2008-04-01' AND '2008-04-30'
みたいなSQLでその期間内のデータを抽出できると思いますが、
「2008-04-01」「2008-04-30」という範囲の値を、SQLで出せないかと思っています。
634:NAME IS NULL
08/04/18 23:03:17
>>633
それで伝わると思ってるのか。
635:NAME IS NULL
08/04/18 23:55:05
>>633
ヒント
DAYOFMONTH(), CURDATE(), ADDDATE()
そういう質問・説明の仕方を仕事でやると怒られないかい?
前提を省いた説明というのは基本的にはしてはいけないよ。
636:NAME IS NULL
08/04/19 12:10:52
>>616
ガセネタ紹介乙
637:NAME IS NULL
08/04/19 14:26:10
>>630の情報だけで答えられない奴は仕事には向いてない。
実務になったらこんな聞き方するクライアントばっかりだぞ?
638:NAME IS NULL
08/04/19 14:31:55
お客さんが説明下手なのは、そりゃしょうがない。
639:NAME IS NULL
08/04/19 14:34:50
>>637
じゃあ今日は特別に 君に答える権を授けよう
640:NAME IS NULL
08/04/19 14:53:56
>>637
金払えよ
641:NAME IS NULL
08/04/20 22:18:25
FreeBSD で
MySQL5.051a を使用しています。
WordPressの初期設定をしているのですが、
以下の部分で止まってしまっております。
# mysqladmin -u root password XXXXXX
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
どなたか助言をいただけませんでしょうか?
宜しくお願い致します
642:NAME IS NULL
08/04/20 22:29:02
>641
rootのpasswordをきちんと設定してますか?
643:641
08/04/20 22:50:37
>>642
回答ありがとうございます。
rootのパスワードの設定は以下で問題ないですよね?
(エラーが出てしまっております)
%mysqladmin -u root password xxxxxxx
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)
644:NAME IS NULL
08/04/20 22:56:13
URLリンク(www.ksknet.net)
このあたりを参考にするとか、ググってみるとか。
MySQLのrootパスワードは結構面倒でした(汗)
645:641
08/04/21 10:25:56
>>644
すんません。
パスワード設定したのを忘れてましたorz
646:NAME IS NULL
08/04/21 18:24:30
>>624
今更だけど、utf8のサポートはMysql 4.1以降。
だから、4.0でエラーが出るのは仕方ないと思う。
647:NAME IS NULL
08/04/23 19:06:36
質問です。バージョンはMySQL 3.23。
時刻を示す文字列が格納されたフィールドがあります。
2008年4月23日19時30分00秒なら、「20080423193000」という感じ。
このフィールドを見て、例えば現在から1ヶ月以内のレコードを抽出するとき、
どのようなクエリを送るのがスマートでしょうか。
WHERE 0+DATE_SUB(NOW(),INTERVAL 1 MONTH) < date AND date <= 0+NOW()
このようにやって期待通りに動いているようには見えるのですが……。
648:619
08/04/23 19:27:01
>>646
ありがとうございます。
文字コードのサポートとは・・・まったくノーチェックだった
649:NAME IS NULL
08/04/23 22:22:01
>>647
素直にdatetime型にする
650:NAME IS NULL
08/04/23 22:33:33
>>647
この先色々なバグに悩まされるのが目に見える設計ですね
651:NAME IS NULL
08/04/23 23:13:59
テーブル設計したの俺じゃねーもんっ!
652:NAME IS NULL
08/04/24 00:32:04
も、萌え
653:NAME IS NULL
08/04/24 09:31:08
>>647
>>649に1票。Datetimeにしたほうが何かと便利じゃね?
654:NAME IS NULL
08/04/24 11:00:03
他で散々使われてるテーブルだからなあ……現状ちゃんと動いてるものを弄りたくないw
655:NAME IS NULL
08/04/24 14:49:32 6a37T5mr
質問です
ヤフーでもAmazonでも、大きなポータルみたいなサイトを見ると、トップページに
沢山メニューやカテゴリがあります
(新着、トピック、ニュース、メール受信数、広告などなど)
これは、各領域ごとにSQLの読み込みしてるってことかなと思いますが、一ページに
どの程度リクエスト仕掛けていいんでしょう?
全部をまとめて1リクエストで済ませてるわけじゃないですよね?
そんなにいっぱい一気に読み込んで大丈夫なの?って気になりますが、、
こういうのはメモリとかCPU性能に依存するものなんですか?
変な質問ですみません
今のところ、1ページ1処理はうまく出来てるんですが、負荷を
沢山かけるものは心配です
参考になるサイトや書籍などあればそれも教えてください お願いします
656:NAME IS NULL
08/04/24 14:55:16
それがノウハウというやつでして
657:NAME IS NULL
08/04/24 15:17:51 ZBZQUXh5
質問させて下さい。
table1
---------------------------
no cat name
1 1 わかめ
2 3 だいこん
3 2 にんじん
4 2 にく
5 3 こめ
6 4 かいわれ
....
100 100 にがうり
---------------------------
このようなテーブルで各catから一つずつnameを取得したいのですが、
その時に、noの降順を使って取得するにはどのようにすればよいでしょうか?
以下のように取得したいのです
---------------------------
no cat name
1 1 わかめ
4 2 にく
5 3 こめ
6 4 かいわれ
---------------------------
上手く伝えられているか不安なのでもう少し書き足しますと
---------------------------
no cat name
3 2 にんじん
4 2 にく
のようにcatにおいて重複した結果が出たときにnoの降順に従って
4 2 にく
だけを取得してほしいのです。
以下のようなクエリを実行したのですが、これではnoの降順を無視してグループ化されてしまいます。
SELECT
`no`,
`cat`,
`name`
FROM
`table1`
WHERE
1
GROUP BY `cat`
;
具体的なテーブル構造は下記になります。
CREATE TABLE `table1` (
`no` int(10) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'No',
`cat` int(4) NOT NULL default '' COMMENT 'カテゴリ',
`name` varchar(32) NOT NULL default '' COMMENT '名前',
`up_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新日時',
`del_flg` TINYINT NOT NULL DEFAULT '0' COMMENT '削除フラグ'
) ENGINE = myisam CHARACTER SET ujis COLLATE ujis_japanese_ci COMMENT 'テーブル情報';
どうか宜しくお願い致します。
658:NAME IS NULL
08/04/24 15:34:13
SELECT T1.no, T21cat, T2.name FROM
(SELECT max(no) AS no, cat FROM table1 GROUP BY cat) T1
INNER JOIN table1 T2 ON T1.no = T2.no AND T1.cat = T2.cat;
とか?
試してないけど。
659:655
08/04/24 15:43:59 6a37T5mr
ノウハウってことは社外秘みたいな?
ごくごく基礎的な考え方について、まとめてる本なんて知りませんか?
すみません、気になるんです。。
660:NAME IS NULL
08/04/24 15:50:26
ああいうでかいポータルは1アクセス毎に動的にSQLを発行しているのではなく、
静的HTMLを一度作る時だけSQLを発行しているから無問題。
SQLの結果をキャッシュしておきたければmemcacheを使え。
661:657
08/04/24 16:00:29
>>658
レス有り難う御座います。
うおっ結構複雑になってしまいますね・・・
今から提示して頂いたクエリを一つ一つかみ砕いて勉強してみます。
>>655
660さんもおっしゃっているような感じのことがメインですが
WEB+DB PRESS Vol.42にニコニコ動画の技術記事があります。
そこにDBとWEBアプリケーションサーバの大規模運用における勘所みたいなことが結構書かれていて
私は勉強になりました。
お力になれれば幸いです。
662:NAME IS NULL
08/04/24 16:29:19
分かってると思うけど、T21catはT1.catのtypoね。
試してみたらうまくいったけど、あんまりいい方法ではないよ。
あくまで、答がちゃんと出るレベル。
663:658
08/04/24 17:37:55
SELECT no, cat, name FROM table1 T1
WHERE NOT EXISTS(
SELECT * FROM table1 T2 WHERE T1.cat = T2.cat AND T1.no < T2.no
);
とかでもOK
664:NAME IS NULL
08/04/24 19:47:59
>>659
ノウハウは社外秘まではいかないだろうけど、それが飯の種ってもんです。
何でも知ってる人に聞いてみましょう。
本だったらSQLの簡単なものから読んだらいいんじゃないかな。
MySQLに限らず、RDBMS共通で勉強するといいかも。
665:655
08/04/25 06:21:05
>>660
ありがとうございます、一度読み込んだ後にキャッシュする機能があるんですね
それが知れただけでもすごく助かりました
>>661
本の紹介、ありがとうございます
ニコニコの仕組みは勉強になりそうですね! ぜひ読んでみたいと思います ありがとう
>>664
完全独学でまわりに詳しい人いないのでここで聞かせてもらいました
またお世話になると思います、よろしくお願いします
どうもありがとうございました
666:NAME IS NULL
08/04/25 22:05:36 mG3NM/VW
副問い合わせが出来ないサーバ(MySQL4.0.25です)を使うことになったのですが、
副問い合わせをにしたいSQL文があり困っています。
この場合、どういうSQL(関数)で代替するのでしょうか?
667:NAME IS NULL
08/04/25 22:22:40 c14dphK1
>>666
泥臭いやり方だが、temporary tableかな
またはアプリケーション側で処理するとか
668:NAME IS NULL
08/04/25 23:01:57
JOIN
669:666
08/04/25 23:09:52 mG3NM/VW
>>667
すみません、、ちょっとやり方が見えないのですが、、
例えば以下のようなSQLの場合、どうなるのでしょうか?
SELECT * FROM hoge INNER JOIN(
SELECT hoge_id FROM test
) AS test ON hoge.hoge_id=test.hoge_id
670:NAME IS NULL
08/04/25 23:18:07
SELECT * FROM hoge
INNER JOIN test ON hoge.hoge_id=test.hoge_id
サブセレしなくても普通にこれでいんじゃないの。
それとも例題のために削ってるから?
671:666
08/04/25 23:20:34
>>670
例題の為に削っているからです。。
実際、副問い合わせが必要な時は、そこでCOUNTしたり
WHEREで抽出した値を出したいから、という理由が多いです。
672:NAME IS NULL
08/04/27 13:21:26 Tqt++e11
すごい初歩の質問なんだけど、
select * from web where name ='2chan' and category = '2chan' and type = '2chan'
って漢字で、全部2chan(同一単語)で検索したいんだけど、
where以降を縮める方法ってないですか?
PHPのifみたいにフィールド名括弧で括って()='2chan'でもだめだし・・・。
初歩すぎるのか探してもなかなか見つからない。
673:NAME IS NULL
08/04/27 16:05:58
むり
674:NAME IS NULL
08/04/27 16:24:11 Tqt++e11
>>673
簡潔な回答ありがとうございます。
675:NAME IS NULL
08/04/28 00:32:12
'2chan' IN (name, category, type)
676:NAME IS NULL
08/04/28 03:35:46
TEXTカラムから
文字数1000文字区切り、最後の改行
でデータを取り出したいのですが可能でしょうか?
できれば1000文字以下で丸めこみたいです
以下のようにやっては見たのですがどうもすっきりしません。
よろしくお願いします。
SELECT
CONCAT(SUBSTRING(TEXT,1,1000),SUBSTRING_INDEX(SUBSTRING(TEXT,1000,1000),"
",1)) AS TEXT
FROM hoge;
677:NAME IS NULL
08/04/28 09:10:45
>>675
INはORだろ
678:NAME IS NULL
08/04/28 10:01:14
>>676
1000文字取り出した後はプログラム側で処理してはいかがでしょう?
679:NAME IS NULL
08/04/28 12:53:41
>>671
だったら、そういうクエリを示さないと、解決にならない。
680:NAME IS NULL
08/04/29 16:57:15
Windows にインストールしようとしてバイナリを探して
このページを見たところ
URLリンク(dev.mysql.com)
ここだと 5.0.51b しかないようです。
b は beta の略ですよね?
beta 無しの一つ前のバージョンはどこでダウンロードできるのでしょうか?
681:NAME IS NULL
08/04/29 17:23:46
>>680
それはベータじゃない。リリース版。
ってかいつの間にか5.0.51bになっててきづかなかった。
5.0.51->5.0.51aの時はSSL絡みのバグ修正だったようだけど、
今回のChanges探したんだが見つからない。
bkbitsのほうにも、Enterpriseには5.0.60きてるけど、
Communityには5.0.51aまでしか記載がない。
682:NAME IS NULL
08/04/29 17:35:14
無償版の「MySQL Community Server」の提供は今後も継続されるが、
無償版と有償版の開発は完全に切り離されることとなり、
無償版と有償版の2つのMySQLはまったく別々の進化を遂げることとなる見通しだ。
683:680
08/04/29 18:00:49
>>681
レスありがとうございます。
URLリンク(dev.mysql.com)
ここのバージョンの命名規則に b の意味するところが書いてないようなのですが
51 -> 51a -> 51b は
51 -> 52 にするほどでもない細かい修正だと理解して良いのでしょうか?
684:NAME IS NULL
08/04/29 19:57:40
>>683
その通りです。
個人的にはbetaを意識させるbをバージョンに含むのには反対ですけどね。
685:680
08/04/29 20:17:13
>>684
なるほど、ありがとうございました。
686:NAME IS NULL
08/04/29 22:52:30 9aVChAdo
MySQL5.1のインストールで
Server Instance Configuration WizardのApply security settingで
エラーがでて完了しません
mysql.serversテーブルがないようなメッセージが出ています
ポートは開放しているはずですが、複数端末で同じようなエラーが出てしまいます
いろいろ調べたのですが、対処法がわかりません。
環境はwindowsXP SP2です
687:NAME IS NULL
08/04/29 22:56:35 vsezzVYU
mysqlのソースコードの解説したサイトとか書籍とか
オススメありませんか?
ググっても出てこないのでお願いします
688:NAME IS NULL
08/04/30 00:50:20
>>687
俺は読んでないけど…
URLリンク(www.oreilly.co.jp)
つーか、サイトや書籍を当たるよりもいきなりガシガシ
ソースコード読んだ方が速いんじゃないか
689:NAME IS NULL
08/04/30 01:04:19
Linuxもいつかは誰かの所有物になるのかな
690:NAME IS NULL
08/04/30 01:37:43
そんときは、別のオープンソースOSがLinuxの代わりになってるよ。
691:NAME IS NULL
08/04/30 01:41:19
Linux は正式にリーナスの物だけど誰も困ってない
そういう事
692:NAME IS NULL
08/04/30 01:46:55
>>688
ありがとうございます
なんと身近な本に普通に載ってたんですね…
693:NAME IS NULL
08/04/30 16:53:35 3+aSlCcR
selectする情報の中にorder byで並び替えた際の順番を入れたいのですが
どう書けば可能でしょうか?
694:NAME IS NULL
08/04/30 17:03:55
order byは最後に実行されるから、select句でその情報を取得するのは無理。
SELECT foo AS '2 foo', bar AS '1 bar' FROM Example
ORDER BY bar, foo;
とでもすればいいんじゃないかな?
695:NAME IS NULL
08/04/30 17:40:27
テーブルレイアウトがないので、、、テーブル名が sample_table で、
プライマリキーは key_a 並べ替えたいカラムを col_a として書きました。
SELECT
a.*,
b.order_num
FROM
sample_table a
JOIN (
SELECT a.key_a, count(*) AS order_num
FROM sample_table a LEFT JOIN sample_table b ON
a.col_a > b.col_a
GROUP BY a.key_a
) b
USING (key_a)
ORDER BY a.col_a
MySQLでの確認はしてませんので、方言が混ざってそうだったら翻訳しといてください
696:NAME IS NULL
08/04/30 23:16:14 6t3erPxs
ExcelとMySQLに関する質問です。
Excelで数千行になる正規化されていないデータを、一気にMySQLに入れることってできるでしょうか?
普段、Excelにデータを溜め込んでいるのですが、それをサーバーに置いて、Web経由でデータの抽出ができるようにしたいんです。
もしいまのExcelのデータをすぐMySQLに入れられたら、造作無いのではないかと思っています。
よろしくお願い致します。
697:NAME IS NULL
08/04/30 23:38:08
列がちゃんと決まってるなら行番号あたりをキーにしたテーブル作って
COPY句でも作って突っ込めばいけるんじゃない?
698:NAME IS NULL
08/04/30 23:49:06
CSVで保存すれば、取り込める。
正規化せずに取り込むと後でものすごく後悔しそうないがする。
699:NAME IS NULL
08/05/01 01:12:40 V4TVtf8T
$sql = "select ホゲ from ホゲホゲ where ホゲホゲホゲ like '%$word%';";
$result = $db->query($sql);
if (DB::isError( $result )) {
die($result->getMessage());
}
while($row = $result->fetchRow()){
echo $row[0]; // 返却データをループ
}
という感じのプログラムを、テーブル名のみを変更して13行並べているのですが、最後の4つあたりが「DB Error: no such field」というエラーが出て正常に処理されません。
エラーが出ている箇所を上のほうに持ってくると解決するのですが、するとまた下の4つが・・・という感じです。
これって何が原因なのでしょうか?
700:NAME IS NULL
08/05/01 10:54:47
>>699
PHPのモジュールの問題じゃね?
701:NAME IS NULL
08/05/01 13:42:14
>>699
$db にfinishっぽい関数あったら、ループ後に呼んでみるとか
702:NAME IS NULL
08/05/01 13:59:30 /NYPxvw/
SQLのみを使って
mysqlの変数に
クエリの結果を代入する方法があれば教えてください
703:NAME IS NULL
08/05/01 21:04:05
質問です。
cpu:Core2Duo E6320
os:debian sarge
db:mysql 5
上記組み合わせで、このサーバをDB専用サーバーとして稼動させた
場合、mysqlのチューニングによってはCPUが最大で50%(1cpu)まで
しか使えない可能性ってありますでしょうか?
704:NAME IS NULL
08/05/01 22:57:20
きれーにするーされたな
705:NAME IS NULL
08/05/01 23:13:07
>>702
mysqlの変数って何?
ストアドファンクションを作ってるのかな。
>>703
smpのカーネルじゃないとそうなることもあるのかもしれない?
有識者の方お願いします。
>>704
何がしたいのか分かりません。
706:NAME IS NULL
08/05/02 11:35:50
>>702
select @name:=name from hoge;
select @name;
707:696
08/05/02 19:34:28 gVoO+8Lg
>>697
>>698
どうもありがとうございます。
参考になりました。
708:NAME IS NULL
08/05/02 22:12:33
MySQLの無料版ってなくなっちゃうんですか?
709:NAME IS NULL
08/05/02 22:14:32
無くならないよ
710:NAME IS NULL
08/05/03 03:45:01 UXm9qTN+
質問します カラムの値がNULLのものを削除したくて以下を実行しましたが
うまくいきません
delete from schedule where `evId` =''
delete from schedule where `evId` =NULL
両方ともだめです 何が原因として考えられるでしょう?
誰かご意見お願いします
711:NAME IS NULL
08/05/03 04:10:50
evId IS NULL
712:NAME IS NULL
08/05/05 05:16:45
データベースのフィールドの順番を変えるにはどんな命令を使うんでしょうか。
例えば
A B C D
となっているフィールドを
A C B D
にしたいんですが。
713:NAME IS NULL
08/05/05 06:08:56
変える必要なんてあるの?
714:NAME IS NULL
08/05/05 06:15:56
データファイル読み込むとき、フィールドの順番とデータの順番が逆になってたんで。
データのほうをいじってもいいんだけど、一応データベースの方も変えられるなら知っておこうと。
715:NAME IS NULL
08/05/05 11:01:12
まあ、速度的な面とかなら。
716:NAME IS NULL
08/05/05 12:41:16
DROP → CREATE
717:NAME IS NULL
08/05/05 18:14:35
>>712
alter table TBL modify B int after C
とか?
718:NAME IS NULL
08/05/05 21:18:24 umNt+46L
今までパスワードを暗号化せずにそのまま保存していたのですが、
次回の更新ではmd5で暗号化したパスワードを保存し、
その値でログイン出来るようにしたいと思います。
現状のパスワードをmd5化して更新する方法ってありませんでしょうか?
MySQLは4.1.22を使っています。
719:NAME IS NULL
08/05/06 01:21:23
>>718
update tbl set col=md5(col)
720:NAME IS NULL
08/05/06 03:26:20
>>1
ちわちわ
721:NAME IS NULL
08/05/06 14:56:41
巣に帰れ。
722:NAME IS NULL
08/05/06 19:58:26
ホスティング会社が3.23→5.0にうpグレードしやがった。
運用していたDBがオワタw
723:NAME IS NULL
08/05/06 20:05:41
>>722
アナウンス無しで?
724:NAME IS NULL
08/05/06 20:09:24
>>723
アナウンス無しで。
設定はしたから新規のデータは入るようになったけど、
古いデータが破壊されちゃった。
外国の安い会社だから、まぁ自己責任orz
725:NAME IS NULL
08/05/06 20:29:06
データ破壊てw
泣くわそんなん
726:NAME IS NULL
08/05/06 20:30:12
泣き虫は嫌いだ、じっちゃんも言ってた
727:NAME IS NULL
08/05/07 00:22:52
>>719
遅レスですけど上手くできました。ありがとうございました。
728:NAME IS NULL
08/05/07 13:33:51
参考サイトをみながらMySQLを勉強している者です。
サイトの説明どおり1ステップづつこなしていたのですが、サンプル用のバックアップファイルをDLしてきて自分の環境で復元するところでつまづいてしまいました。
バックアップファイル内の命令文を1文づつ手作業で打ち込んでいったところ、
CREATE TABLE T01Prefecture (
PREF_CD INT,
PREF_NAME VARCHAR(10),
PRIMARY KEY (PREF_CD)
);
を打ち込んだところで、
ERROR 1005 (HY000): Can't create table 'sampledb040.t01prefecture' (errno: 121)
というエラーが表示されました。
テーブルが作成できないというエラーのようですが、原因がさっぱりわかりません。
テーブル名をT10Prefectureに変えると作成できるのですが…
どなたかこのエラーの原因をお知りでしたら、ぜひお教え願えないでしょうか?
729:NAME IS NULL
08/05/07 14:28:12
普通はリダイレクト使ってやるような作業だよね
どっかで打ち間違えたんじゃないの?
730:NAME IS NULL
08/05/07 15:20:47
文字を打ち間違えた場合だと、T01prefectureをT10prefectureに変えても通らないはずだと思うのです。
ググっていくつかのサイトを見てみましたが、以前同じ名前のテーブルを作成した事があるのが悪い…のかな?
同じエラーで悩んでいるらしき人のBlogなどは見つかるのですが、何がどう問題なのか理解が及ばない。
731:NAME IS NULL
08/05/07 16:37:15
>>730
既にその名前のテーブルが存在するなら作れないですよ。
732:NAME IS NULL
08/05/07 18:27:43
DROP TABLE T01Prefecture;
733:NAME IS NULL
08/05/07 22:32:39
バックアップファイル内に予めテーブルを削除する文も入っているんです。
後出しでホントすみません。
URLリンク(mysqlweb.net)
のリンクにある040backup.zipというファイルなのです。
前のステップでsampledb040を使った練習があったけど、やはりこれのデータが変な風に残っているのでしょうか?
734:NAME IS NULL
08/05/07 23:16:52
リダイレクトでファイル直接流してみなよ
735:728
08/05/08 14:39:58
ご、ごめん。
最初は参考サイトにあるとおりリダイレクト(でいいのかな? Mysql -u ユーザー(root) -p データベース名 <"パス")とやってたのです。
それでテーブルを作成できませんというエラーがでるので1行づつ手打ちしてみたのです。
後出しばかりでホントごめん。
人に相談するには早すぎました。まともな説明ができるようになるまでは独学でがんばります…
736:NAME IS NULL
08/05/08 21:38:34
>>735
drop したあと、ほんとにdropできてるか確認してみるとか?
テーブルの作成権限がないだけかもしれないけどMySQLのその辺は
詳しくないので、もしそうなら他の人にお任せします。
737:NAME IS NULL
08/05/09 13:39:41
MySQLのトリガーって他のテーブルに対して処理できないって本当ですか?
738:NAME IS NULL
08/05/10 11:00:09
>>737
うそです
739:728
08/05/10 12:14:55
MySQLのdataフォルダ内にあるsampledb040フォルダを削除し、データベースを作詞するところからやり直したらテーブルが作成できました。
お騒がせしてすみませんでした。
こんな解決方法で良いのかな…?
740:NAME IS NULL
08/05/10 20:35:52
LOAD DATA LOCAL INFILEを使うときの、ローカルPC側のファイルパスの指定の仕方って、
"c:\hoge\hoge.txt"
"c:/hoge/hoge.txt"
これ以外に指定方法ってあるんでしょうか。
どちらでやっても、not found (Errcode: 2) になってしまいます><
741:NAME IS NULL
08/05/10 21:25:53
hogeディレクトリーにhoge.txtが本当に存在してるかい?
742:NAME IS NULL
08/05/10 21:26:01
>>740
\の場合は\\と書かないとダメな気がする
743:740
08/05/10 21:42:07
>>741
存在してます。
>>742
\\でやってみましたが、同じくnot foundでした。
ちなみに、xserver(共用レンタルサーバ)上のDBにLOADさせようとしているんですが、
気になっているのが、LOADするファイルはUTF-8なんです。
ところが、xserverのMySQLのcharacter setはujis、character setsは
latin1 big5 czech euc_kr gb2312 gbk latin1_de sjis tis620 ujis dec8 dos german1 hp8 koi8_ru
latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek
win1250 croat cp1257 latin5 で、utf8がないんですよね。
phpMyAdminで、ALTER TABLE テーブル名 CHARACTER SET utf8; を指定した後に
実行しても結果は同じエラー。
phpでプログラムを組んで、クエリ発行前に"SET NAMES utf8"をやっても同じエラーでした。
ためしに、LOADするファイルをujis、テーブル側もALTER TABLEやSET NAMESでujisに設定してやってみましたが、同じエラーでした。
MySQLのバージョンは4.0.27です。
いろいろ調べてるのですが、解決策が見つからなくて。
744:740
08/05/10 23:10:59 /V9T+N7z
解決しました。
結局、not foundになった理由はわからないんですが、
phpMyAdminの「インポート」からLOADできました。
数時間前まで「インポート」画面には、
「インポートするファイルの形式」は"SQL"しか指定できなかったのですが、
不思議なことに、先ほどみたら"CSV"が指定できるようになっていて、
そこから入力ファイルを指定してLOADできるようになりました。
745:NAME IS NULL
08/05/10 23:32:01 ZRD2El4R
extの中に、
php_mysql.dll
php_mysqli.dll
コピーしましたが、phpinfo()でMYSQL動きません。
プロンプトからは動きます。
extennsion_dir=c://php/etc
extension=php_mysql.dll
extension=php_mysqli.dll
しました。
dllのバージョンは、phpにあわせなければだめですか?
php5.1なのですが、
dllは5.2です。
5.1のダウンロードはどちらで行えばいいんでしょうか?
restart &再起動を行いました。
746:NAME IS NULL
08/05/10 23:46:05 ZRD2El4R
/etc
じゃなくて/ext
の間違いです。
747:NAME IS NULL
08/05/10 23:49:19
>>745
copy C:\php\libmysql.dll C:\windows\system32
748:NAME IS NULL
08/05/11 01:49:34 I11LIJS2
system32の中に
libmysql.dll
コピーしてもだめでした。
php5ts.dll
php5apache2.dll
をコピーしてもだめでした。
749:NAME IS NULL
08/05/11 03:10:53 ymTwAShD
Windowsを使わなければ良い
750:NAME IS NULL
08/05/11 17:12:51 Lz+kCEMO
Debian上でMySQL5.0を使用しています。
DBに対して発行された全てのSQLをログ出力したいのですが、
MySQLでそういった処理は可能でしょうか?
751:NAME IS NULL
08/05/11 18:22:01
log = /var/log/・・・
752:NAME IS NULL
08/05/12 01:10:50
innodbのデータファイルをテーブルごとに作成する方法ってありますか?
753:NAME IS NULL
08/05/12 01:26:19
innodb_file_per_table
754:NAME IS NULL
08/05/12 16:10:28
>>743
>>646にも書いたけど、4.0系はutfサポートしてません。4.1以降です。
755:NAME IS NULL
08/05/12 20:15:57 8xhRTUUy
質問させて下さい。
table1
---------------------------
name
ねこ
いぬ
うさぎ
かめ
....
ぞう
---------------------------
このようなテーブルで特定の名前を検索し、結果ヒットしなかった名前だけを取得したいのですよがどうのようにしたらよいでしょうか?
例:ねこ、パンダを検索 => パンダを取得
SELECT
1
FROM
`table1`
WHERE
`name` = 'ねこ'
;
このようなクエリをループで数回発行し、取得もできるのですが、できれば1回のクエリで取得したいのです。
ドキュメントを見ていると、 `name` IN ( 'ねこ', 'パンダ' )
として何かすればできそうかなとも思ったのですが上手くかけません。
どうか宜しくお願いします。
756:NAME IS NULL
08/05/12 20:34:25
>>755
つまり条件で使用されなかった名前を得たいわけですよね。
通常だと、`name` IN ( 'ねこ', 'パンダ' ) でヒット分を出して
アプリ側で消し込むのが通常かと。
757:NAME IS NULL
08/05/12 21:43:28
>>765
レス有り難う御座います。
う〜んやっぱりどちらにしてもアプリ側の処理に頼るしかないのかな。
もう少し自分で粘ってみます。
758:NAME IS NULL
08/05/12 22:12:00
NOT EXISTSを使ってできそうな予感
759:NAME IS NULL
08/05/12 22:21:02
ごめん、やっぱり純粋なSQLじゃ無理だわ
検索条件を表示するようなクエリが記述できないからね
例
'ねこ', 'パンダ'で検索したときに、
ねこ
パンダ
を取得するSQL
・・・不可能
760:NAME IS NULL
08/05/12 22:24:42 a2zzvFoH
初めまして。
Windows2K上で「MySQL入門以前」という書籍を見ながらMySQLをインストールしています。
Apache、PHP、MySQLのインストールは終わり、mysqldをサービスとして登録し終わり
再起動すると、MySQLサーバが起動していません。
#書籍で言うと65ページ付近です
コマンドプロンプトから
cd c:\mysql\bin で移動し
C:\mysql\bin>mysql
と打ち込むと
ERROR 2003: Can't connect to MySQL Server on "localhost" (10061)
と表示され、接続できません。
コントロールパネル>管理ツール>サービス でMySQLを確認すると
「スタートアップの種類」は「自動」となっていますが、「サービスの状態」が「停止」となっています。
「開始」をクリックすると
「ローカルコンピュータのMySQLサービスを開始できません。」
「エラー1067:プロセスを途中で強制終了しました」
と表示されます。
色々検索してみて、コマンドプロンプトから
C:\mysql\bin>net start mysql
と打ち込んでも
「システムエラー 1067が発生しました」
「プロセスを途中で強制終了しました」
と表示され、先に勧めない状態です。
同じ書籍で同じようなエラーを対処された方はいらっしゃいませんでしょうか。
どうかご教示ください。
761:NAME IS NULL
08/05/12 22:38:21
URLリンク(oshiete1.goo.ne.jp)
762:NAME IS NULL
08/05/12 22:39:45
URLリンク(d.hatena.ne.jp)
763:NAME IS NULL
08/05/13 00:16:15
>>761-762
そちらのページを拝見して、サービスの削除・サービスの再インストールを
行いましたが駄目でした。MySQLのアンインストールからやり直してみようと思います。
764:NAME IS NULL
08/05/13 15:44:20 NUBRvh8U
PHP上からMySQLでinsertすると、Duplicate entry '〜' for key 2
PHP MyAdmin やプロンプト上からinsert行うと、普通にinsertできるのでしょうか?
765:NAME IS NULL
08/05/13 15:47:34
キーが同じならどこからでも無理だろ
766:NAME IS NULL
08/05/13 18:50:11
+-----+-------+
| key | title | que1|
| 1 | test | test |
| 7 | test | test |
+-----+-------+-
というテーブルがあり、titleからkeyを取り出したいのですが、
select que1 from question where title ='test';ではqueは取り出せるのに
select key from question where title ='test';では構文エラーになります。
主キーは取り出せないんでしょうか?
767:NAME IS NULL
08/05/13 18:52:43
keyは予約語だからでは? `key` とかしてみる。
768:NAME IS NULL
08/05/13 18:54:18
ありがとうございます!
無事取り出せました。
769:NAME IS NULL
08/05/13 21:39:29 NUBRvh8U
キーはインクリメントされるので、
異なってるはずなんですが。
770:NAME IS NULL
08/05/13 21:40:40 NUBRvh8U
`key`は基本だとおも。
771:NAME IS NULL
08/05/13 22:04:51 NUBRvh8U
質問日本語になってなかったので、再度質問します。
日本語できなきゃ、SQLできませんね。えへ!
テーブルに登録されていない
ユニークな列 brandに
日本語文字列'あしっくす' をinsertしようとしているのですが、
あしっくす という文字列が登録されていないのに、
Duplicate entry 'あしっくす' for key 2
とエラー表示されるのはなぜなんでしょうか?
772:訂正
08/05/13 22:07:10 NUBRvh8U
質問日本語になってなかったので、再度質問します。
日本語できなきゃ、SQLできませんね。えへ!
テーブルに登録されている
ユニークな列 brandに
日本語文字列'あしっくす' をinsertしようとしているのですが、
あしっくす という文字列が登録されていないのに、
Duplicate entry 'あしっくす' for key 2
とエラー表示されるのはなぜなんでしょうか?
773:訂正
08/05/13 23:31:32 NUBRvh8U
カタガナとひらがな で重複すしてました。
774:NAME IS NULL
08/05/14 03:58:48
◆6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
URLリンク(system-trading.jp)
5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
デモトレードの優勝者には賞金三百万円がプレゼントされます。
▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
URLリンク(www.fx-gp.com)
▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円
775:NAME IS NULL
08/05/15 05:20:29
URLリンク(dev.mysql.com)
「マルチ列INSERTステートメントの場合」とか書いてあるけど、
このページ内ほとんど
×列
○行
じゃないかな。
776:NAME IS NULL
08/05/15 08:30:54 /PcvCBei
MYSQLとPHPがどうマニュアルどおりやっても、
phpinfoでMYSQLが認識されない。dllに応じてapacheの対応バージョンが異なるらしいんだけど、
本当ですか?
777:NAME IS NULL
08/05/15 09:58:14
ビルドからやってんの?
778:NAME IS NULL
08/05/15 13:04:45
mysql5.0.27を使っているんですが、型の制約として、 num = num - 5 とかやっても
0未満にはならないようにとか、そういった制約ってありますか?
入れるときにチェックしないとだめでしょうか?
779:NAME IS NULL
08/05/16 16:40:06 V7rySszX
質問です
文字コードがutf8のデータベースから、eucのデータベースへ中身を
移動させるのって難しいですか?もちろんMysqlです
管理ツールはphpMyadminを使おうと思ってるんですが、、
蓄積されている情報をEUCに書き換えるような作業が必要になるんでしょうか?
カンタンな手順や専用のツールなんてあるんでしょうか?
どなたか教えてください よろしくお願いします
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5393日前に更新/244 KB
担当:undef