mysql ヘルプ!
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/01/22 16:08ID:kMbsTQE3状況を詳しく書きます
PHPが動くプロバイダーのディレクトリにおいた自分の家の
mysqlサーバを操作するPHPに
$db = mysql_connect("mysqlサーバのip:3306","ゆーざ","ぱす");
と書いたのですが、駄目でした。
どうすればいいのでしょうか?
0561nobodyさん
04/08/21 18:34ID:???0562nobodyさん
04/08/22 18:09ID:fCwPrUXsWindows環境で復号化が可能の良い方法ってありますか?
Mcrypt暗号化関数みたいのが理想なんですが……
0563nobodyさん
04/08/22 18:17ID:???普通は暗号化されたパスと
ユーザーが入力したパスを暗号化して見比べるんだろが
0564562
04/08/22 18:49ID:???0565nobodyさん
04/08/22 20:01ID:???ちょっとムキになった俺も悪かったよ
0567nobodyさん
04/08/22 22:49ID:???なんでそこでリマインダーの話が出るわけ?
0569nobodyさん
04/08/23 01:15ID:???0570nobodyさん
04/08/23 18:27ID:???普通はランダムなのを生成して新しいパスワードとする。
0571nobodyさん
04/08/31 15:07ID:???TEXTの最大数を指定する方法はないでしょうか?
1つずつ追加する場合は、PHP側で文字数を指定できるのですが、他人に
使わせるもので、LOAD DATA INFILEでも追加させるので、良い方法が
あるとよいのですが。
0572nobodyさん
04/09/10 21:17:24ID:ChbHudjLVer4ではないので、delete from table order by no limit 1; が使えません。
なにか手軽に削除する方法はないでしょうか?
(selectで一番古いのを探し出してってやれば出来るんですけど)
0573nobodyさん
04/09/11 16:16:33ID:???0574nobodyさん
04/09/13 20:44:08ID:DiNpN1u+areaというテーブルと、shopというテーブルがあるのですが、
shopの「area_id」はareaの「id」とリファレンスしています。
phpMyAdminで、どこをタブのどの部分を設定すれば
紐付けされるのかがわかりません。
一応create table貼り付けます。
sqlそのまま打てるみたいなので、sqlでどう書けばいいのかが解れば
紐付けできると思うのですが…。
create table area
(
idsmallint(8)not null,
namevarchar(200)null,
primary key(id)
);
create table shop
(
idsmallint(8)not null,
area_idsmallint(8)not nullreferences area(id),
namevarchar(200)null,
以下略
ちなみに…、翔泳社の『MySQL徹底活用』という本を
買ったのですが、本で書かれているphpMyAdminのver.が古いため
操作方法が微妙に違っていてわかりません(T_T)
初歩的な質問お許し下さい。
0576nobodyさん
04/09/13 21:23:52ID:DiNpN1u+ちょっと短くてよくわからないのですが…、
shopのcreate tableをmysql_query();でかこんで実行すれば良いのでしょうか?
いったんshopのテーブルをドロップした後、
phpMyAdminでSQLクエリー実行してみましたが
エラーになってしまいました。
0577575
04/09/13 22:16:25ID:???ttp://www.php.net/manual/ja/function.mysql-query.php などのマニュアルを
読むべし。中華、それ以前に、>>574に書いてあること、PHP/Webとかいう前に単に
ターミナルから実行して、やりたいことが出来るってとこは確認済みなんでしょね?
そうでなければ、MySQLのマニュアルに戻る、つう話になる。
0578574
04/09/13 22:24:03ID:DiNpN1u+レス有難うございます。
phpのファイル上ではLEFT JOINで複数のテーブルから値を呼び出して
問題なく表示させています。
ただ、phpMyAdminからデータを追加する際に
例えばshopのデータを追加している時area_idにエリアの名前が
でないと不便なので、リレーションの登録をしたいんです。
0579574
04/09/14 01:18:43ID:m/olOuEy本に書いてあるphpMyAdminのver.は2.3.3pl1で、
そこでは『構造』タブの下の方が、
● フィールドの追加
● リレーション表示
● テーブル構造の確認 [ヘルプ]
となっているのですが、私のphpMyAdmin 2.5.7-pl1 だと
● フィールドの追加
● テーブル構造の確認 [ヘルプ]
となってます。
verが上なのに● リレーション表示 が設定できないのは
ちょっと変だと思うのですが…。
どなたかロリ○ップのレン鯖を利用されていて
phpMyAdminを使ってらっしゃる方、いらっしゃいませんか?
(スレ違いだったらごめんなさい。
検索したら、以前にもphpMyAdminの話がでていたので…。)
0580nobodyさん
04/09/14 21:17:20ID:TFDgdHfq0581nobodyさん
04/09/14 21:30:00ID:???LIMIT 5,5;
http://dev.mysql.com/doc/mysql/ja/SELECT.html
0582nobodyさん
04/09/18 10:11:30ID:???この 1→3→2 の順番で読むことはできないんでしょうか?
1回ずつSELECTしないとダメですか?
0583nobodyさん
04/09/18 15:24:35ID:jJIXNQcoテーブルA------------------
ID、人物
テーブルB------------------
ID、テーブルAのID、持ち物
持ち物のデータに(すいか、ばなな、みかん、ぶどう)があるとします。
で、すいかとみかんを持った人物を検索したい場合にMySQL以外だと
SELECT テーブルA.ID
FROM テーブルA, テーブルB
WHERE (持ち物 LIKE %みかん%) AND (テーブルA.ID = (SELECT テーブルAのID FROM テーブルB WHERE (持ち物 LIKE %すいか%));
のように副問い合わせを使って検索できるのですが、
この場合MySQLだとどのように検索することができるのでしょうか。
わかる方、ご教授お願いします。
0584nobodyさん
04/09/18 18:44:18ID:???IN (value, ...) で返されるレコードの順番を指定することはできない。
というか、order by節を使わない場合のレコード順は不定となる。これは他のRDBでも同じ。
order byを何とかして使うか、1回ずつselectするか、プログラムの側で並び替えるしかない。
>>583
MySQL 4.1以降ならサブクエリをサポートしてるよ。
http://dev.mysql.com/doc/mysql/ja/Subqueries.html
けど、その例なら自己結合を使ったほうが簡単だと思う。
select b1.テーブルAのID from テーブルB b1, テーブルB b2
where b1.テーブルAのID = b2.テーブルAのID
and b1.持ち物 like '%すいか%' and b2.持ち物 like '%みかん%';
0585583
04/09/19 02:06:03ID:0NH761Caありがとうございます。
自己結合の存在を忘れていました(^^;
0586nobodyさん
04/09/20 18:25:03ID:???現在PHPでマルチスレッドを想定したWebシステムを作成しています。
クライアントからの要求時、MySQLからSELECTの結果オブジェクト
を取得して表示し、終了後DBを切断する処理を行っているのですが、
切断前にmysql_free_result関数で開放するようにした方が宜しいの
でしょうか?
PHPマニュアルによると、mysql_free_result()はスクリプト実行の
メモリの使用量が多すぎると懸念される場合にのみ必要になります。
となっているのですが、データ量が多いために検討しております。
マルチスレッドで扱った場合、mysql_free_resultを実行した際に
他に影響が出てしまうようなことはあるのでしょうか?
0587nobodyさん
04/09/20 21:40:21ID:???PHPでマルチスレッド…
マルチスレッド型のhttpdと組み合わせた場合の影響の話?
取り合えず、mysql_free_resultでフリーにされたりする
結果オブジェクトは、各"mysqlクライアント"のもの。
mysqlユーザ毎のものでもないし、mysqlサーバ側のものでもない。
0588nobodyさん
04/09/23 11:03:54ID:dmhyGv3hwebのリニューアルをやってるます。
そこでお伺いしたいのでつが、新しく鯖を借りてMy SQLとPostgres SQLが
標準で使えるものにしました。
当方、Perl,PHP,SQLを一通り勉強した事があるので管理ツールphpmyadmin
などで簡単にテーブルぐらい組めるのではないかと思っていたのですが
Webで検索してもオペレーションに関するドキュメントが見つかりません。
英語はTOEIC750ぐらいで大体できると思いますが、何かオペレーションを
簡単に解説するサイトなり本なりあるのでしょうか?
それとも本屋さんでMy SQL,Postgres SQLをフルに勉強する必要がありますか?
ご叱咤、ご指導お願いします。
0589nobodyさん
04/09/23 11:57:25ID:/TBsLWrJhttp://www.mysql.gr.jp/
でマニュアル読めば?
0590nobodyさん
04/09/23 20:25:46ID:???http://www.phpmyadmin.net/home_page/docs.php
ドキュメントを読む能力の前にドキュメントを探す能力が…
SQLが一通り理解できてるならテーブル作成はそんなに問題無いはずだが。
あとはMySQLのマニュアルみてDBMS独特のもの(例えば型とか)に気をつける。
ユーザ管理は完全にDBMS毎で違うと考えないと駄目。
マニュアルで理解できなければ、簡単な解説本(日本語/英語どちらでも)を求める。
0591nobodyさん
04/09/25 05:59:33ID:B6UlPK9C練習用にdefault-character-set=ujisのとdefault-character-set=sjisと2種類建てたいんだけど
0592nobodyさん
04/09/25 09:14:22ID:4AK3lwq0からmysql mysql-4.1.4-gamma-win
を使っているのですが
mysql側のタイムスタンプなどで時間記録を残す時に
perlのtimeのような1970/01/01を基準とした関数はないのでしょうか?
おそらく、unixなんたら〜に該当する関数でありそうなんですが
日数表示などはあっても秒数表示がみあたりません。
お力添えしていただけないでしょうか。お願いします。
0593nobodyさん
04/09/25 09:46:49ID:???取り合えずDB板のMySQLスレも読むのと、MySQL公式マニュアルを読もう。
http://dev.mysql.com/doc/mysql/ja/Multiple_servers.html
マニュアルにはそのものが書いてあります。ソース/SRPM等から単体のインストール
が出来る人ならそう難易度は高くはありません。
文字エンコードの異なるDBは私も複数インストールしてます。
バージョン違いも同じマシンにインストールできますが、
私はこれは、別のマシンに分けてますが。
>>592
先ずはマニュアルを…
UNIX_TIMESTAMP()
http://dev.mysql.com/doc/mysql/ja/Date_and_time_functions.html
マイクロタイムまで欲しければMySQLのバージョンに依存するけどね。
0594529
04/09/25 10:07:19ID:???私もそこは見つけて
create table timestamp (
id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
TimeStampName VARCHAR(50),
time TIMESTAMP(14) NOT NULL,
time2 UNIX_TIMESTAMP() NOT NULL,
PRIMARY KEY (id)
);
このようなテーブルを作ってみたのですが
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 'UNIX_TIMESTAMP() NOT NULL,
PRIMARY KEY (id)
)' at line 5
このようなエラーがでてwinでは無理なのかと思っていました。
これはwinではなく、verエラーもしくは構文エラーになるのでしょうか?
先ほど
マニュアルにあるように
SELECT UNIX_TIMESTAMP();
という使い方をすれば正常に動作してくれましたので構文エラーだと思うのですが
上に書いたようにテーブル作成の要素の一つとして設定することはできないのでしょうか・・
0595nobodyさん
04/09/25 12:30:56ID:???いや、UNIX_TIMESTAMPは値(符号なし整数)であって、TIMESTAMPのような
型ではないからテーブル定義のカラムの型には指定できないでしょ。
考え方自体がおかしい。
http://dev.mysql.com/doc/mysql/ja/Date_and_time_types.html
の日付/時刻関係の型についても読んで味噌。自動/手動によるキャストにも注意。
0596529
04/09/25 18:42:53ID:???どうもです。
リンク先読ませていただきました。
ない知恵絞った結果、mysqlから抽出したTIMESTAMP(14) データを
再度select unix_timestamp(抽出したデータ)
というような形で変換しました。
0597nobodyさん
04/09/28 00:33:27ID:???と実行して、エラーなしでmysql\dataにtestdbフォルダが生成されているのですが、
mysqlshowと打ってみると
+-----------+
| Databases |
+-----------+
| test |
+-----------+
となっていてtestdbが出てこないのですが、原因は何でしょうか・・・
mysqladmin -u root drop testdb
と実行して、yを選択すると
Database "testdb" dropped
と表示されてmysql\dataのtestdbフォルダも削除されるのですが。
0600nobodyさん
04/09/28 15:47:09ID:O7ctbSQ2windowsのMySQLはMySQLのディレクトリの直ぐ下にdataディレクトリがあってそこにDBのデータが蓄積されてるけど
Linux版のMySQLはどこのディレクトリに格納されるんですか?
dataディレクトリが見当たらないのですが。
0601nobodyさん
04/09/28 16:22:38ID:???ディストロによって違うと思うけど、rpmとかdebを調べるんじゃないかな
ソースから入れてるならMakefileを見れば分かる
それ以上の詳しいことはLinux板で聞いたほうが早い
0602nobodyさん
04/09/30 15:57:16ID:6hdui1am0603nobodyさん
04/09/30 17:11:32ID:???mysqlコマンドを使う。
http://dev.mysql.com/doc/mysql/ja/mysql.html
0604602
04/09/30 17:37:07ID:6hdui1am0605nobodyさん
04/09/30 17:50:27ID:???0608602
04/09/30 23:34:28ID:6hdui1am読みました、でもDBを作る関数がわかりません
0610nobodyさん
04/10/01 01:27:08ID:???いくらでもヒットするぞ
0611nobodyさん
04/10/01 09:00:20ID:???ちゃんと探せ。ただ俺が言ってるのはDBを作るSQLを使った方法。どっちでも良いけど。
PHPのリファレンスマニュアルぐらい読んだら?あと、いちいち訊くより
入門本一冊買った方がスムーズに学習できると思うけど?
0612nobodyさん
04/10/01 09:04:19ID:???0613nobodyさん
04/10/01 17:28:26ID:TVRBqqbo外部結合はできない?
select a.zzz,b.xxx from a left join b on a.aaa b.aaa
aaaには全角文字で同じ値が入っている
b.xxxがnullになってしまう
0614nobodyさん
04/10/01 20:27:40ID:syLlomTsデータベースサーバA から データベースサーバB に、
mysqldump で データベースをコピーしたいと思ってます。
サーバAのデータベース(テーブル)はLockしたくないのですが、
サーバBのデータベース(テーブル)はLockしてもOKです。
--add-locks と --lock-tables
これ、どんなLockになるのか、マニュアルから読み取れませんでした。
教えてもらえませんでしょうか?
0615614
04/10/01 21:09:26ID:syLlomTs両方のオプションをつけない方向ですね…
続けて質問なのですが、
mysqldump では 複数のテーブルを一度にdumpすることはできないでしょうか?
0617616
04/10/01 22:32:10ID:???0618nobodyさん
04/10/02 19:45:56ID:zf6X98MXプロンプトで実行しようとするとcannot conect local hostというのが
出ます。
どうしたらよいでしょうか?
0619618
04/10/02 19:59:52ID:zf6X98MXcan't connect to mysql server on 'localhost'
環境はwindous xp homeです。
0621618
04/10/02 20:12:20ID:zf6X98MXと入力したのですが、何の反応も無く改行します。
その後、
C:\mysql\bin > mysqladmin -u root password root_s_pwd
という感じで入力すると、can't connect to mysql server on 'localhost'
など、何行かエラーメッセージが出てきます。
0622nobodyさん
04/10/02 20:24:31ID:???>c:\mysql\bin>mysqld
>と入力したのですが、何の反応も無く改行します。
起動して無いと思われ。つかインストーラでインストールすると
自動的にサービスに自動起動するように登録される。
(コマンドラインでmysqldとして普通のプロセスとして起動させるのも間違いではない)
エラーログが出てるから読んでごらん。
0623618
04/10/02 22:55:17ID:Mfak8V2G>>エラーログが出てるから読んでごらん。
それがこれなのですが。
can't connect to mysql server on 'localhost'
0624nobodyさん
04/10/02 23:09:21ID:???それはエラーログじゃなくて、mysqlクライアントが吐いたエラー(表示)。
エラーログについてはここ。
http://dev.mysql.com/doc/mysql/ja/Error_log.html
(Windowsはmysql.errって書いて在るけど、最近はUnixと同様hostname.errになってる気がするな)
現在表示されてるエラー表示からの問題解決の基本手順は
http://dev.mysql.com/doc/mysql/ja/Can_not_connect_to_server.html
0625618
04/10/03 00:23:15ID:mW2Tv4q+なんとか起動できました。
最初のマスター登録をしてなかったので起動しなかったことが
わかりました。
ありがとうございました!!
0626nobodyさん
04/10/03 16:41:42ID:HbeYcF9zMySQL Server Instance Configuration Wizardの最後の画面で、Execute
をクリックした後にStart serviceの項目に×印が入りFinishができません。
どうしたらよろしいでしょうか?
0627626
04/10/03 17:01:54ID:HbeYcF9z終了しないままMySQLを起ち上げたのですが、コマンドプロンプトで
mysqld is aliveと出ました。
正常動作しているみたいなのですが、
このままMySQL Server Instance Configuration Wizardの最後の画面を
Cancelで終了しても良いのでしょうか?
0628nobodyさん
04/10/11 10:38:34ID:29ynadmT例えば、日記のデータが保存されているDBで、
8月1日からのデータから過去に10日分表示させたい場合のセレクト文がわかりません。
※データは必ずしも毎日入っているわけではありません。
このテーブルのPRIMARY KEYはtoday(データ型:date)です。
SELECT today FROM diary WHERE today = '2004-08-01';
だと1日分ですが…ここから10件表示させたいんです。
ヨロシクお願いしますm(_ _)m
0629nobodyさん
04/10/11 11:34:21ID:???じゃないの?俺もよくわからんけど。
0630628
04/10/11 12:09:30ID:29ynadmT有難うございました♪スレのレベル下げちゃってゴメンナサイ。
629さん有難うございました。
0631nobodyさん
04/10/12 13:43:09ID:???PHP上で、
mysql_query("CREATE table temp1 AS SELECT id FROM m_act_imp WHERE (name LIKE '%".$act."%');");
という文を発行すると、テーブルtemp1はできますが、
LIKEにマッチしてるにも関わらず空になってしまうのです。
phpmyadmin上でならばtemp1上のidにデータが格納されるのですが・・・。
何故空になってしまうのでしょうか?
よければお教えください。お願いします。
MySQLは3.23.58です。
0632nobodyさん
04/10/12 15:16:37ID:???思わぬ勘違いをしていることもよくあるから、まずはqueryに渡す文字列を画面に
も表示してみることから始めてみましょう。
0633631
04/10/12 17:49:38ID:???単にレンタルサーバのユーザーに権限がなかっただけ・・・ですかね。
MySQLは4.0.12ですが関係ないでしょうし・・・。
>>632
それはやってたんですよね。
結果的にはあまり関係はありませんでしたが、
お早いお返事ありがとうございました。
0634nobodyさん
04/10/13 08:01:16ID:pwP4Zh+Wo 時毎
とはどういう意味でしょうか?
0635困りました
04/10/13 18:56:57ID:4r9iZ+Q4MySQL+PHP4.Xで開発をしているのですが
ある不特定のユーザーが登録済みのデータや画像ファイルを変更しようとすると
登録してあるデータおよび画像ファイルが消えてしまう現象が起きました。
消えない場合もありました。
PHPのソースを追いかけても削除しているロジックがありません
内部で再現テストをしてもまったく起きる気配がありません。。。
しかし、ユーザーから「データが消えた」とクレームがいまだ来たりしています。
一般向けに公開しているサイトであるため複数アクセスはあるので
トランザクションの問題かと思ったりもしたのですが
テスト上ではこういう現象はやはり起きませんでした
MySQLの設定でこういう問題は回避できるのでしょうか?
それともユーザーの回線が細いとこういう現象がおきやすいのでしょうか?
OSはRedHat7Jです
0636困りました
04/10/13 18:58:58ID:4r9iZ+Q4MySQL のバージョンは、3.23.54 です
0637nobodyさん
04/10/13 20:26:54ID:???そんだけの情報で何か判断は付かんわ。
不完全なデータで更新(上書き)されちゃってる感じか。
再現テストは「ユーザーの回線が細い」と問題がでると思われる
ような作りの部分があるなら、ちゃんとネットワークの延滞を作ったり
帯域を絞って仮想環境作ってテストした方が良いよ。
0638困りました
04/10/13 20:53:13ID:4r9iZ+Q4ネットワークの延滞を作ったり
帯域を絞って仮想環境作ってテストしていないので
まずはそこら辺を考慮したテストを行っていきます。
0639nobodyさん
04/10/13 21:32:59ID:???あとDBMS側で更新クエリログを取るのと、PHPスクリプト側で
要所要所でログ出力してテストしないと意味が無いので忘れずに。
0640nobodyさん
04/10/14 18:09:39ID:bdzAlbuaname | DATA
-----+------
neko |ねこ
nuko |ぬこ
giko |ぎこ
(以下略)
こーゆーテーブル試しに作って、
select * テーブル where data 'ね%';
を実行すると、[ねこ]と[ぬこ]がマッチしてしまうのだが、これはなぜだ?
select * テーブル where data 'ぎ%';
だとちゃんと[ぎこ]だけがマッチするんだけどなぁ。
0641nobodyさん
04/10/14 18:23:47ID:???select * テーブル where data like binary 'ね%';
MySQLは文字列比較するときデフォルトでアルファベットの大文字小文字を
同一視するようになっている。その副作用と思われ。
ttp://dev.mysql.com/doc/mysql/ja/Case_Sensitivity_Operators.html
0642nobodyさん
04/10/14 18:50:10ID:???すばやい回答さんくす。
SQL自体勉強始めたばっかりなもので。
これからがんばってドキュメント類ばりばり読み進めます。
海より深く感謝。
0643nobodyさん
04/10/15 17:26:39ID:K5MUiGQA掲示板の書き込みの管理くらいしか思いつきませんが…
みなさんはどんな用途でMySQL使ってるんですか?
0645nobodyさん
04/10/15 19:13:21ID:???0646nobodyさん
04/10/16 08:41:00ID:???やらないよりはやったほうがいいんじゃないの?
複数人で使う掲示板ならなおさらだね
0649nobodyさん
04/10/17 03:51:26ID:???処理早いよね?
0653nobodyさん
04/10/18 11:46:27ID:x7S7FTDO【環境】
OSX10.3.4
PHP4.0
phpMyAdmin Version 2.6.0, pl2
上記の環境をローカルに作成したのですが
phpMyAdminがうまく動作しません。
言語の変更やテーブル作成をしようとクリックすると
サーバが見つかりませんというエラーが出てしまいます。
0654nobodyさん
04/10/18 11:57:56ID:???0655653
04/10/18 12:26:21ID:x7S7FTDOcommand not foundで認識されません。
0657653
04/10/18 13:25:01ID:x7S7FTDOおそらくMySQLのほうが怪しいです。
手順通りインストールしたものの
コマンドが使えません。
書籍にはインストールしたらすぐに
コマンドを使用できると書いてあるのですが。
もちろんMySQLは起動してます。。。
0658nobodyさん
04/10/18 15:39:18ID:???↑
そのままだと思うw
サーバーがないんじゃ・・・w
http://homepage.mac.com/dnagase/macosx/perlcgi.html
どうやら、MacはBSD仕様なのね
生意気なw
0660653
04/10/18 18:31:28ID:x7S7FTDOcommand not found。。
mysqlコマンドを使用するのに
特別な設定が必要なのでしょうか??
■ このスレッドは過去ログ倉庫に格納されています