mysql ヘルプ!
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。
02/01/22 16:08ID:kMbsTQE3状況を詳しく書きます
PHPが動くプロバイダーのディレクトリにおいた自分の家の
mysqlサーバを操作するPHPに
$db = mysql_connect("mysqlサーバのip:3306","ゆーざ","ぱす");
と書いたのですが、駄目でした。
どうすればいいのでしょうか?
0002名無しさん@お腹いっぱい。
02/01/22 16:10ID:???0003名無しさん@お腹いっぱい。
02/01/22 16:15ID:kMbsTQE3Warning: MySQL Connection Failed: Can't connect to MySQL server on '場所'
エラーじゃないんですが はっきりつなげないと出てしまって・・
0004名無しさん@お腹いっぱい。
02/01/22 16:21ID:???他の手段でそのリモートにあるmysqlサーバを使うのはできるの?
0005名無しさん@お腹いっぱい。
02/01/22 16:23ID:???0006名無しさん@お腹いっぱい。
02/01/22 16:24ID:???00074
02/01/22 16:25ID:???0008名無しさん@お腹いっぱい。
02/01/22 16:26ID:kMbsTQE3もちろんローカルにおいたPHPからは操作できます。
でもそのMYSQLサーバーのローカルIPアドレスを
PHPのmysql_connect関数にかいて、外のプロバイダーに
おいても接続できないと出てしまいます。ポートは
デフォルトでは3306ですよね・・ どうすればいいん
でしょうか。
0009名無しさん@お腹いっぱい。
02/01/22 16:30ID:???0011名無しさん@お腹いっぱい。
02/01/22 16:33ID:kMbsTQE3家のポートというのは、要するにMYSQLを起動しているという
事ですか?
アクセス制限はROOTでアクセスしてDBに入ろうと思ってるので、
大丈夫だと思いますが・・・
0012名無しさん@お腹いっぱい。
02/01/22 16:53ID:???まず>>1の接続している環境を考えてみよう。
ずっと接続されていると仮定して。
なんで外から中に接続できないのか。
やっぱり考えていただこうではないか。
めんどうかもしれないがネット接続関係の専門書をお勧めする。
00134
02/01/22 16:57ID:???違う。
0014名無しさん@お腹いっぱい。
02/01/22 16:58ID:kMbsTQE3あのmysql_connect関数の引数のIPはMYSQLのenvironmentの
LOCALIPADRRESSというところの194.22.〜.〜でいいんですよね。
後、逆にどうやったら、プロバイダーにおいたPHPから
家のDBを操作できるようにできるんでしょうか?
0015名無しさん@お腹いっぱい。
02/01/22 17:04ID:???0016名無しさん@お腹いっぱい。
02/01/22 17:05ID:kMbsTQE3よいのですか?
00174
02/01/22 17:09ID:???0018名無しさん@お腹いっぱい。
02/01/22 17:16ID:kMbsTQE3プロバイダーのサーバはおそらくリナックスだと思います
もちろんMYSQLはconfigでwith-mysqlでついてました。
00194
02/01/22 17:24ID:???ttp://www.byakuya-shobo.co.jp/hj21/vol4/jyouji.html
0020名無しさん@お腹いっぱい。
02/01/22 17:29ID:kMbsTQE3思ったんですが、そうは問屋がおろさないみたいですね。
まだまだハードルがありそうだ・・・
0021名無しさん@お腹いっぱい。
02/01/22 17:44ID:???0022名無しさん@お腹いっぱい。
02/01/22 17:46ID:???00234
02/01/22 17:48ID:???頑張れ。
0024名無しさん@お腹いっぱい。
02/01/22 18:03ID:kMbsTQE3サーバー構築の本でしょうか?
プロバイダーのサーバはいじれないから、家のサーバーっていうか
PCか。それとmysqlサーバーの設定かな。
00254
02/01/22 18:16ID:???ttp://www.oreilly.co.jp/BOOK/wnt2ksec/
とかかなぁ。よぅ知らんのよ。Windowsは付属のヘルプも充実してると思うが。
あと、知識用にTCP/IP接続の本かWebページ。
0026名無しさん@お腹いっぱい。
02/01/22 18:32ID:kMbsTQE3ローカルならPHPにmysql_connect(localhost,root)で簡単に
操作できたんですけど ネットワークにサーバか・・
00274
02/01/22 18:43ID:???0028名無しさん@お腹いっぱい。
02/01/22 18:57ID:???0029名無しさん@お腹いっぱい。
02/01/22 22:02ID:???0030名無しさん@お腹いっぱい。
02/01/22 22:31ID:???0031名無しさん@お腹いっぱい。
02/01/23 00:11ID:???1・MySQLの該当ユーザーのアクセス権限がどうなっているか。
外からアクセスできるように設定されているのか
2・ローカル(家)のルータ|FWはport 3306をmysqlサーバーに通すようになっているか。
3・リモートのサーバーから外部のport 3306に接続することはできるのか。
エラーメッセージからは>>5-6のいうとおり 2,3っぽいね。
3を確認するためには >>4のいうとおり、他のmysqlサーバーにあたってみよう。
2を確認するためには外部から telnet TARGETHOST 3306してみよう。
0032MySQL
02/02/13 19:40ID:???いました。周りに質問できる人もいないし、どなたか私を助けてくれませんか?
やりたいこと 下のような権限を持つユーザーを作る
1.テーブルは自由に作成、削除できる
2.他人の作ったテーブルは見れない、消せない
3.データベースの作成、削除はできない
こんな感じで意図は伝わりましたか?もう頼るところが無いんです...、
よろしくお願いします。
0033しょしんしゃ
02/02/14 11:05ID:???1.グローバルな権限は全部Nにしてユーザを追加(3.に対応)
2.データベースをつくって、テーブルをつくりたいユーザーに
CREATEをGRANTする。(1に対応)
3.テーブルを作るときに、テーブルをつくったユーザーに
すべてをGRANT。それ以外には権限をあたえない。(2に対応)
って感じじゃない?たぶん。
0034しょしんしゃ
02/02/14 11:07ID:???1=グローバルの権限
2=データベースの権限
3=テーブルの権限です。
003532
02/02/14 23:57ID:???しょしんしゃさん、お返事ありがとうございます。
> 3.テーブルを作るときに、テーブルをつくったユーザーに
> すべてをGRANT。それ以外には権限をあたえない。(2に対応)
この作業はテーブル作成時に管理者さんがしないとダメですよね?
ユーザー自身が自由にテーブル作成・削除はできるけど、他人の作った
テーブルには一切アクセスできない、というようなことができればなぁ、
と思ってたのです。やっぱり無理なのかな?ふぅ。
となると、ユーザー毎にデータベースを作るのが現実的なのかな?
0036nobodyさん
02/07/05 13:21ID:sTJoXJtl分散データベースの研究をしております。
同じテーブル定義のテーブルを分散しているのですが、
その分散したテーブルを一つのテーブルにしたいのですが、
なにか方法はありませんか?
0037nobodyさん
02/07/05 22:13ID:???マルチ
回答不要
http://pc.2ch.net/test/read.cgi/php/983250751/228
0038nobodyさん
02/07/08 18:54ID:lARTVJ7d接続できません。
コマンドプロンプトの画面で、
「net start mysql」と入力しても、
途中でエラー:1067が発生し、
中断します。
コントロールパネルの「サービス」からも
同様の結果になります。
なぜでしょうか?
0039クラさん
02/07/24 12:45ID:tjNyt0k2WinMySQLadminからサーバーのコントロールは出来ますが
VariablesやProcess、Database、Reportなどの情報が
WinMySQLadminでは取得できません。
その他、DOS窓やクライアントプログラムから接続は出来て
特に支障ないです。再インストールしてみたりもしたのですが
状況が変わりません。わかる方いらっしゃるでしょうか?
0040nobodyさん
02/08/23 00:39ID:rUynFkaj何がちがうの?
0041nobodyさん
02/08/23 15:44ID:BcNB4bejMaxと付く方はトランザクションをサポートしている
0042nobodyさん
02/09/02 00:40ID:dngEI4Feスタンドアロンならうまく逝くんでない?
それと深いdirに置いてない?
c:\mysql なんかに置いてみれ!
0043nobodyさん
02/09/03 08:03ID:fHvwXYydtinyint=1byte
smallint=2byteと思っていたのですが、
show tableすると、Typeに
tinyint(3)
と表示されます。これは3バイトってことですよね?
1バイトの大きさのカラムを作るにはどうすればいいのですか?
0044PhpMyAdmin
02/09/16 10:51ID:???巡回ソフトなんかで集中的なアクセス食らってもサービス落ちしないような
設定を考えてみたんですが、こうでいいでしょうか?
[client]
#password=my_password
#port=xxxx
port=3306
#socket=MySQL
[mysqld]
port=3306
#socket=MySQL
skip-locking
#default-character-set=sjis
set-variable = key_buffer=64M
set-variable = max_allowed_packet=4M
set-variable = thread_stack=512K
set-variable = flush_time=1800
set-variable = table_cache=256
set-variable = sort_buffer=1M
set-variable = record_buffer=1M
#set-variable = long_query_time=1
basedir = D:/MYSQL/
datadir = D:/MYSQL/DATA/
<<本文が長かったり改行が多いと板に怒られるから次のレスへ続く>>
0045PhpMyAdmin
02/09/16 10:53ID:???#innodb_data_file_path = ibdata1:200M
#innodb_data_home_dir = C:\ibdata
#set-variable = innodb_mirrored_log_groups=1
#innodb_log_group_home_dir = C:\iblogs
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=30M
#set-variable = innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#innodb_log_arch_dir = C:\iblogs
#innodb_log_archive=0
#set-variable = innodb_buffer_pool_size=80M
#set-variable=lower_case_table_names =0
#set-variable = innodb_additional_mem_pool_size=10M
#set-variable = innodb_file_io_threads=4
#set-variable = innodb_lock_wait_timeout=50
<<本文が長かったり改行が多いと板に怒られるから次のレスへ続く>>
0046PhpMyAdmin
02/09/16 10:54ID:???language=D:/MYSQL/SHARE/JAPANESE
tmpdir=D:/DOCUMENTS AND SETTINGS/ADMINISTRATOR/LOCAL SETTINGS/TEMP
[mysqldump]
quick
set-variable = max_allowed_packet=16M
#default-character-set=EUC-JP
[mysql]
no-auto-rehash
#default-character-set=EUC-JP
[isamchk]
set-variable= key=16M
[client_fltk]
help_file= D:\MYSQL\SQL_CLIENT\MYSQL.HELP
client_file= D:\MYSQL\MYSQL.OPTIONS
history_length=20
database = test
queries_root= D:\MYSQL\QUERIES
last_database_file= D:\MYSQL\LASTDB
[WinMySQLAdmin]
Server=D:/MYSQL/BIN/MYSQLD-MAX-NT.EXE
user=ないしょ
password=ひみつ
自信がないので、「これならほぼ大丈夫だぜ!」っていう設定があれば
教えてください。おながいします。
00471日1善保守生活創刊号
02/09/16 18:14ID:???0048nobodyさん
02/09/17 02:37ID:p6Xmi4dv>tinyint(3)
それは文字数とおもわれ。
0049nobodyさん
02/10/07 21:53ID:m57T57IBアクセスする場合どうしたらいいのでしょうか。
0050nobodyさん
02/10/13 02:41ID:NZn49T9iredhat7.3にrpmでmysqlインストールして
mysql -u root
set password for root=('設定するパスワード');
flush privileges;
で最後のとこで
ERROR 1045 Access denied for user: '@localhost' (Using password: NO)
ってでてつまってます。
なんか他のユーザー作成とかなにかやろうとするとすぐ同じエラーがでてきちゃう
んですけど、だれかたすけて〜
0051nobodyさん
02/10/14 18:48ID:???あるデータベース内の全てのテーブルにしたいのですが、
どのように SQL を書けばよいのでしょうか?
0053nobodyさん
02/10/19 15:58ID:???で聞いた方がいいかもね。
ドライバ開発者もいるみたいだし。
0054nobodyさん
02/11/02 05:56ID:???0055nobodyさん
03/01/01 02:13ID:g22yKLaX0056nobodyさん
03/01/01 19:19ID:pXgJfOxPperl scripからmysqlに読み込ませてきましたが,
新しいMySQLのバイナリー配布版で,"LOAD
DATA INFILE"が利用できなくて,困っており
ます。
ttp://www.mysql.com/doc/en/LOAD_DATA_LOCAL.html
これまでは,perl scriptから一度に複数のテキストファイルをmysqlに読み込ませました。
foreach ("load data infile 'list.txt' into table list", "load data infile 'lemmafe.txt' into table lemmafe"){
$out2 = $dbh->prepare("$_");
$out2->execute;
}
現在は,この作業をterminalから
mysql -u hogehoe -p --local-infile=1
とmysql clientを立ち上げて,手作業でtext
データを読み込ませています。
sourceファイルからmysqlをコンパイルすれば,
問題は解決できるようですが,コンパイルには
自信がありません。
local-infile=1でコンパイルしたosx用のバイナリ
ーファイルを配布しているサイトはありません
でしょうか?
0057nobodyさん
03/01/01 19:38ID:g22yKLaXftp://mirror.mcs.anl.gov/pub/mysql/Downloads/MySQL-3.23/
ftp://mirror.mcs.anl.gov/pub/mysql/Downloads/MySQL-Max-3.23/
ftp://mirror.mcs.anl.gov/pub/mysql/Downloads/MySQL-4.0/
ftp://mirror.mcs.anl.gov/pub/mysql/Downloads/MySQL-Max-4.0/
0058nobodyさん
03/01/01 19:42ID:g22yKLaXもしphpMyAdminでCSVファイルのアップロード等を行う必要がある場合、
「--with-local-infile」オプションをつけるか、
mysqlコマンドで「--local-infile=1」というオプションをつけて実行することで有効になる。
0059nobodyさん
03/01/01 19:45ID:g22yKLaXhttp://www.mysql.gr.jp/jpdoc/4.0/manual.ja_MySQL_Database_Administration.html#LOAD_DATA_LOCAL
0060ID:g22yKLaX@59
03/01/01 19:47ID:g22yKLaX006156
03/01/01 21:52ID:pXgJfOxP>つけて実行することで有効になる。
mysqlサーバを立ち上げるときに,--local-infile=1を次のように
入れても,無効でした(osx)
/Volumes/mysql/mysqlNew/bin/safe_mysqld --user=mysql --local-infile=1 &
mysqlのソースをコンパイルするときに,local-infile=1を指定しないと,
サーバーでは有効にならないのでしょうか?
0062nobodyさん
03/01/06 00:49ID:YMUOqc9Y2つのレコードを入れ替えたいのですが
例)
num,site__,url
_10,2ch___,http://2ch.net/
_22,Google,http://google.com/
↓
num,site__,url
_10,Google,http://google.com/
_22,2ch___,http://2ch.net/
こんなことできますか?
それとも手作業的にupdateしないとダメ?
0063山崎渉
03/01/15 13:36ID:???0064nobodyさん
03/02/28 17:53ID:XIiZ4aB7このデータベース「hoge」にはMySQLのユーザ「root」でしかアクセス出来ないようにするにはどうしたら良いでしょうか。
逆に、「foo」と言うユーザーは「boo」と言うデータベースにしか接続できない様にするにはどうすれば良いのでしょうか。
よろしくお願いします。
0065nobodyさん
03/03/11 13:25ID:pS3CSiOrかねやんMySQLAdminってソフト使ってみたらどうでしょう。
質問させて下さい。
$sth->fetchall_arrayref();で
NAMEやTYPEを取得したいのですがどうすればいいですか?
$sth->fetchrow_array();なら
$names=$sth->{'NAME'}とすれば
$names->[0]で取得できますが、
2回もfetchするのは、効率悪い気がします。
お願いします。
0066nobodyさん
03/03/12 04:14ID:txYiwVgf0067nobodyさん
03/03/12 11:46ID:???MySQLの質問というよりはDBIモジュールの質問ではないかな。
$sth->execute;
$name = $sth->{NAME};
$type = $sth->{TYPE};
$data = $sth->fetchall_arrayref;
これで漏れは全部のデータが取得できるんだが。
0068nobodyさん
03/03/12 12:18ID:myMG93+Uありがとうございました。
たしかにDBIモジュールの質問ですね。
ORACLEだとfetchall_arrayrefでも
$sth->{NAME}->[0]とかすれば
最初のNAMEを取得できたのに
MYSQLではエラーになったので
ここに質問してしまいました。
以後気を付けます。
0069nobodyさん
03/03/12 23:17ID:PTQ2BK4j0070山崎渉
03/03/13 16:58ID:???0071nobodyさん
03/03/25 16:25ID:BGwX64RNけど読み方がわからないのでおしえてください。
0072nobodyさん
03/03/27 03:03ID:Ya09dI5Iスクリプトはありますか?
0073nobodyさん
03/03/27 12:10ID:???0074山崎渉
03/04/17 12:11ID:???0075山崎渉
03/04/20 06:22ID:???( ^^ )< ぬるぽ(^^)
0076nobodyさん
03/05/17 17:45ID:ghc51a2p0077nobodyさん
03/05/17 17:55ID:/0gIo8DK0078nobodyさん
03/05/18 16:45ID:NH4N97DjUnicodeはあくまでも文字のコードであって、
通信の方式やツールのことじゃないから、質問意味不明ナリ
データベースの文字型の扱いをUTF-8にしたいってんなら、
MySQL4あたりだと出来るはずだよ。
0079nobodyさん
03/05/18 16:46ID:aNJYcTmWバナー紹介料として、リンクスタッフ登録の度に1000円の報酬。
掲示板などに宣伝すればクリックや紹介がある度に報酬が得られます。
登録はメールアドレスと任意のパスワードを入力すれば完了です。
メールアドレスはフリーメールでもOK!
今なら登録するだけで1000円プレゼント。
ちなみに私の先月分の収入は、1日30分ぐらいの宣伝で138340円でした。
http://accessplus.jp/staff/in.cgi?id=9140
直リンクできないのでアドレスをコピーして貼り付けてジャンプしてください。
0080動画直リン
03/05/18 17:08ID:rGbr42DC0081nobodyさん
03/05/19 17:16ID:O90Qa4tTYYYYMMDDHHMMSSのように区切り文字なしでDBに格納されてしまいます。
DATETIME型のようにYYYY-MM-DD HH:MM:SS のフォーマットで
DBに格納されるようにしたいんですが可能でしょうか?
0082梨
03/05/20 23:52ID:Y6HkOJuAマニュアルにズバリ書いてあったよ。頭使ってもわかりそう。
ヒント: 4バイト
で、DATE_FORMATじゃだめなん?
0083nobodyさん
03/05/21 01:20ID:???テキストファイル使った方が効率良いんでしょうか。
最近は楽さを選んでみんなDB使っちゃってるんですが、
無駄にサーバーに負担かけてるかな?
0084梨
03/05/21 16:21ID:AbGSjTDt何をするかによるんでないかい?
「データ数」の定義も微妙だし。
行数が200程度しかないフラットな掲示板のログファイル1つのために
DB使うのはやりすぎって気もするけど、
書き込みが多いからロックファイル作って云々考えるとどっこいかも。
漏れは基本的にMySQLかな。
いろんなサーバに入れる場合は、ファイルで管理する事が多い。
0085山崎渉
03/05/22 01:57ID:???008681
03/05/22 11:01ID:rjjMwkskレスありがとうございます。
確かにマニュアルにフォーマットを指定できるようなことは書いてあるのは
読んだのですが、具体的にどのような書式で指定すればいいのかがわかりません。
4バイトだとYYMMという形式になってしまうのではないんでしょうか?
DATE_FORMATも読みましたが、私がやりたいのはCREATE TABLEで作成する際に
TIMESTAMPで何か書式が指定できるのかな、と思いまして。。。
0087bloom
03/05/22 11:08ID:x2YZ4VCE0088梨
03/05/22 13:51ID:meYOXQTHごめん。TIMEか何かと勘違いしていたので訂正します。
MySQLの日付型は次のフォーマットを持ちます。
a. 格納フォーマット
b. 表示フォーマット
c. (指定用の)共通フォーマット
結論から言うと、TIMESTAMPは、
aが4バイトのUNIX秒型、bがYYYYMMDDHHMMSSの桁数指定型、
cはDATEやDATETIMEと共通のフォーマットになっています。
bで指定出来るのは桁数だけなので、
表示フォーマットを指定するにはcで調整するしか無いです。
それが嫌ならば、DATETIME型を手作業で更新するという手もあります。
詳しくは「6.2.2.2 DATETIME, DATE, TIMESTAMP 型」に全部書いてあります。
http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_Reference.html
008981
03/05/22 15:50ID:rjjMwkskなるほど。やはりbの表示フォーマットは変えられないんですね。
リファレンスのその部分は何度か読んだのですが、
表現的によくわからなかったので、ここで質問しました。
これでスッキリしました。DATETIME型でやってみます。
ありがとうございました。
0090nobodyさん
03/05/22 22:23ID:jBpXLiPHSQL> create a_table ( desc varchar(64) );
ERROR 1064: You have an error in your SQL syntax
near 'a_table (desc varchar(64) )' at line 1
どうしたらいいっすか?
009290
03/05/22 22:41ID:jBpXLiPHdescもdescrもdescriもdescribもdescirbeも使えない。
009390
03/05/22 22:47ID:jBpXLiPHごめん、まちがい
mysql> create table a_table (desc varchar(64) );
>>92
descとdescribeがカラム名として使えない
0094nobodyさん
03/05/22 22:49ID:???テーブルやフィールド名として使用できないれす
009790
03/05/23 09:40ID:???mysql> create table a_table ( `desc` varchar(64) );
Query OK, 0 rows affected (0.00 sec)
mysql> desc a_table;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| desc | varchar(64) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
1 row in set (0.00 sec)
すげー、できたよ!
めっちゃ多謝です >96
0098nobodyさん
03/05/23 09:53ID:5VJPohZk次のようなテーブルがあります。
mysql> select * from sample;
+----+-------+
| id | count |
+----+-------+
| 1 | 100 |
| 2 | 100 |
+----+-------+
ここで
mysql> update sample set count=count+10 where id=1;
とすると
mysql> select * from sample;
+----+-------+
| id | count |
+----+-------+
| 1 | 110 | ← 10増えている
| 2 | 100 |
+----+-------+
のようになります。
このupdate文は、アトミックなんでしょうか?
つまり、多人数で同時に実行しても必ず意図した
結果が保証されるんでしょうか?
0099nobodyさん
03/05/24 15:41ID:???http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_Reference.html#LOCK_TABLES
http://www.mysql.com/doc/en/LOCK_TABLES.html
日本語訳だけじゃなくて元の英文にもあたって欲しいんだが、
例(単一のupdate)だとlock不要(即ち保証される)
むしろ弊害と折れは読んだが、どうか?
http://www.mysql.com/doc/en/Tips.html
"very fast!"ってどんだけ速いんだよぅ?
0100nobodyさん
03/05/24 15:42ID:+sQLJUip0101nobodyさん
03/05/24 16:38ID:oDSDORJVhttp://yahooo.s2.x-beat.com/linkvp/linkvp.html
0103山崎渉
03/05/28 17:07ID:???ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0104質問その@
03/05/29 00:52ID:???以下のような二つのテーブルがあります。
テーブル名 j_table
+----+-------+
| id | jusho |
+----+-------+
| 1 | 新宿 |
| 2 | 渋谷 |
| 3 | 新宿 |
| 4 | 新宿 |
+----+-------+
テーブル名 k_table
+----+-------+
| id | konomi |
+----+-------+
| 1 | giko |
| 2 | giko |
| 3 | giko |
| 4 | mona |
+----+-------+
0105質問そのA
03/05/29 00:52ID:???mysql> select count(*) from k_table where konomi="giko"; だと3
Agikoが好きで新宿住まいの人は何人か?
mysql> select count(*) from k_table a,j_table b where a.konomi="giko" && b.jusho LIKE "%新宿%"; だと3
Bgikoが好きで渋谷住まいの人は何人か?
mysql> select count(*) from k_table a,j_table b where a.konomi="giko" && b.jusho LIKE "%渋谷%"; だと3
Cgikoが好きで中野住まいの人は何人か?
mysql> select count(*) from k_table a,j_table b where a.konomi="giko" && b.jusho LIKE "%中野%"; だと0
テーブルを結合させると該当する行があると、住所の条件に関係なくgiko好きが3人と出てしまうのですがこれは何故でしょうか?
該当する行が無い場合はキチンと0になるのですが・・・
普通Aは2、Bは1になるはずなのですが、結合の仕方がまずいのでしょうか?
だれかぜひ教えてください・・・おながいします!
0106nobodyさん
03/05/29 01:16ID:???aのidとbのidはどのような関係が?
countしないでどこかに出力してごらん。
SQLの基本なので良い機会なので入門書を買って味噌。
0108nobodyさん
03/05/29 10:44ID:???いや言いたかったのはWHEREの条件に混ぜるんじゃなくて、
必要ならリレーション(関係)を張っては?ということ。
"外部キー"とか"JOIN"とかその辺の単語でぐぐーる。
0109nobodyさん
03/06/17 12:58ID:0HXSsTQYテーブル作成時にauto_incrementをカラムに指定した場合、
初期値は1になります。この初期値を0にしたいんですが、できますか?
1以上の正整数に指定するのは、次のような方法でできました。
create table table1 (
id integer not null auto_increment,
value varchar(64),
primary key(id)
)
auto_increment = 100;
しかし100を0にしても、初期値は1にしかなりません。
auto_incrementの初期値を0にする方法があれば、
教えてください。
0110nobodyさん
03/06/17 13:22ID:???A B
aa 11
bb 11
aa 22
cc 22
aa 11 ←こいつはINSERTさせたくない
イメージ的にはABの2カラムを合わせてPRIMARY KEYにしたいのです。
こういう場合はどうすればいいんでしょうか。
0111nobodyさん
03/06/17 14:49ID:???You can use "primary key(A, B)".
----
create table sample (
A varchar,
B integer,
primary key(A, B)
);
----
0112nobodyさん
03/06/18 18:04ID:???めちゃサンクス。primary key(A, B) でいけました。
#実際にはAがBLOBなのでprimary key(A(128), B) としました。
0113nobodyさん
03/06/18 23:51ID:TnNRaExh追加されるのでしょうか?
0114nobodyさん
03/06/18 23:57ID:???0115nobodyさん
03/06/19 00:34ID:70FTCJ+VA
ID1りんご
ID3みかん
ID4ぶどう
B
ID2メロン
ID3みかん
ID4ぶどう
この二枚のテーブルでどちらかのテーブルに存在すればヒットする
ようなselec文はどう書いたらいいのでしょうか。重複する行は、
一行のみ抜き出したいです。
こういうかんじにです。
ID1りんご
ID2メロン
ID3みかん
ID4ぶどう
よろしくお願いします。
0116113
03/06/19 02:25ID:70FTCJ+V追加されました。確認もせずに投稿してしまいました。
すいませんでした。
0117nobodyさん
03/06/19 02:36ID:tb30wkPm罪と罰のゲーム、皆さんもやりませんか?
http://gekiya77.gi-ga.net/cgi/
以下から、新規登録出来ますので。
http://gekiya77.gi-ga.net/cgi/ore_reg.cgi
<注>私は管理人ではなく、ただの利用者です。
0118nobodyさん
03/06/22 22:04ID:xUqQ3nDmleft outer join
0119nobodyさん
03/06/27 20:50ID:HoNlAHtVどんな感じでインデックスがはられているのかみたいのです。
0120nobodyさん
03/06/28 01:44ID:???バイナリーエディタ…
MYDとかと同じ。つかバイナリー見ても理解できんでしょ。
インデックス情報見るなら素直にSHOW INDEXコマンド。
有効にインデックスが機能しているかはEXPLAIN SELECTでチェックすれ
0121119
03/06/28 17:10ID:3aXiHYmQインデックスが英語のFULLTEXTインデックスなんです。
どんなワードがインデックスに入っているのか確認したかったのです。
stringsというコマンドでバイナリにはいっている文字列がみえるのが
わかりましたが、MYIファイルをきれいに表示する方法はないでしょうか?
ないとは思うのですが、もしあって知らなかったらとおもって聞いてしまいました。
0122nobodyさん
03/06/30 12:25ID:5tKrGL8Qhttp://pc2.2ch.net/db/
0123nobodyさん
03/07/10 00:05ID:yUDG6lLtsplitみたいな。
no|key|
1|a,b,c|
でkeyを「,」で区切って「b」があるかどうかで検索…。
正規表現を使う事も考えましたが、できるならうれしいなっと。
0124無料動画直リン
03/07/10 00:14ID:YKCrjqtm0126125
03/07/11 01:30ID:???本音を言えば「外部キーくらい正規化すれ。」
0127123
03/07/11 04:21ID:ET0riVu5「外部キーくらい正規化すれ。」 について勉強してきました。
こんな効率的なやり方思い浮かびませんでした。
そして、新たなる壁に当たりました…。
例えば、keyを別テーブルの置き、keyにbが含まれているものを検索した場合…
普通にヒットしますが、このとき、ヒットしたnoのそれ以外のキーをSELECT時に取得する事は出来るでしょうか?
ちなみに、テーブル構成はこのような感じです。
--TableA
no|省略
1 |省略
--TableB(キー)
no|key|
1 |b|
1 |a|
1にはaとbが登録されているとして、bで検索した場合、それ以外の「a」も取得できるようにしたいのです。
一生懸命検索もしたんですが、どうしても分かりませんでした(T.T)
参考サイトでも良いので誰か助けてー
0128123
03/07/11 08:52ID:???が、欲しいのは中身なのれす…。
0129123
03/07/11 15:18ID:???0130山崎 渉
03/07/15 11:07ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0131nobodyさん
03/07/31 19:38ID:AJvCrkltテーブルを作成する時にデフォルト値を設定できますが、
NOW()をデフォルトにはできないのでしょうか。
create table member(
username varchar(60) NULL,
createdate datetime default "NOW()"
);
とし、
insert into member (username) values('AAA');
実行しても
mysql> select * from member;
+----------+---------------------+
| username | createdate |
+----------+---------------------+
| AAA | 0000-00-00 00:00:00 |
+----------+---------------------+
となり、入力した日時が入ってくれません。
どうすれば良いのでしょうか。。
0132nobodyさん
03/07/31 21:57ID:VMyHT8tghttp://ninkirank.misty.ne.jp/19/enter.cgi?id=okyaku
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
.
0135nobodyさん
03/08/01 17:59ID:???http://pc2.2ch.net/test/read.cgi/tech/1008316065/642
から勝手に移動してきました。重複して見る方スマソ。
質問をコピペします。
↓ここから
GROUP化したタプルに現れるデータに条件付けするにはどうすればよいですか?
No ID 名前
--------------
2 a あほ
1 a ばか
3 a まぬけ
SELECT * FROM table GROUP BY ID
で取り出すとき、3つのタプルのどれが出てくるかを制御したいんです。
例えばNoの1番小さいやつ(1 a ばか)を取り出す、とか。
↑ここまで
よろしくです。
0136nobodyさん
03/08/01 19:12ID:???できないんじゃねーの
っていうか、そもそもそんなことができるDBってあるわけ?
ちなみに
http://allabout.co.jp/computer/database/closeup/CU20020307/?FM=glcct
を見ると、
SQL> select empno,ename,job,sal,deptno from emp group by job;
select empno,ename,job,sal,deptno from emp group by job
*
1行でエラーが発生しました。
ORA-00979: GROUP BYの式ではありません
SELECTの後ろの列名にグループ化した列、集計関数で集計した列でない列を指定したために
エラーとなっている
だそうだが...。
0137nobodyさん
03/08/01 20:22ID:???やっぱできないのかなあ。
自分で調べた限りではできなかったけど、調べ方が悪いのかと思って2chを頼ってみた。
>>135が実際に必要となる場面としては、
----------------------------
UserName Date EMail Amount
----------------------------
というテーブルがあって、UserNameごとの合計金額をSUM(Amount) GROUP BY UserNameで集計しているんですけど、
その時ついでにEMailも出力しているのです。
ところが、同じUserNameでも複数のEMailが存在する場合があるんです。
その場合はDateが最新であるタプルのEMailを出力したい。
というわけだったのです(最初からこれを書いた方が分かりやすかったですね。すいません)
今は一旦UserNameを取り出して、各UserNameに対してDateが最新であるタプルのEMailを取得しているんですが
UserNameが多くなってきたので時間がかかるようになってしまいました。
何かアドバイスがあればよろしくおながいします。
0138nobodyさん
03/08/02 01:50ID:???これではだめ?
実際に試してないから、このままで実行できるかわからないけど、
テーブル名をlogとした場合、
CREATE TEMPORARY TABLE temp
AS SELECT UserName, MAX(Date) AS Date, SUM(Amount) AS Amout
FROM log GROUP BY UserName;
SELECT * FROM temp, log
WHERE temp.UserName = log.UserName AND temp.Date = log.Date;
適切なインデックスを作成してあれば、速いはず。
ただ、設計自体が間違っているような気がしないでもないが...。
0139山崎 渉
03/08/02 02:22ID:???( ^^ )< ぬるぽ(^^)
0140ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:50ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0141nobodyさん
03/08/02 12:08ID:???あ、なるほど。
MAX(Date)をSELECTするとDateがMAXなタプルのEMailが取り出せるんですね。
今実験環境がないのでできませんが今度試して報告します。ありがd。
この最新のEMailが欲しいという要望は後から出てきたので
今までのプログラムに付け足す形でやったので
>>137に書いてあるようになってしまったんです。
>ただ、設計自体が間違っているような気がしないでもないが...。
・・・うーん。特に変な設計したつもりはないんですけどねぇ。
0142nobodyさん
03/08/09 06:13ID:ykXF7Sbd/usr/local/mysql/var/
配下の目的のDBのディレクトリをコピーするだけでOKですか?
復元時は、このディレクトリを戻してやるだけで使えるのでしょうか?
何となく、乱暴すぎる気もするし…どうなんでしょう?
0144山崎 渉
03/08/15 22:39ID:???│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0145nobodyさん
03/08/28 21:47ID:???みたいに一文字検索って出来るのですか?
0147nobodyさん
03/09/02 15:19ID:nC941VScdrop user hogehoge; じゃだめだった。
マニュアル読んでも、どこにかいてあるのかさっぱり。
0148nobodyさん
03/09/02 15:59ID:???パスワードありではログインできず、なしだとログインできる。
パスワードを設定したにもかかわらずだ。
## MySQLにrootでログインし、ユーザを作成する
bash$ mysql -u root -p
Enter password:
mysql> grant all on *.* to user1 identified by 'passwd1';
Query OK, 0 rows affected (0.00 sec)
mysql> exit;
Bye
## 作成したユーザでログインすると、パスワードありではログインできず、
## パスワードなしだとログインできる。なぜ?
bash$ mysql -u user1 -p
Enter password:
ERROR 1045: Access denied for user: 'user3@localhost' (Using password: YES)
bash$ mysql -u user1
mysql>
なぜ?どっか抜けてる?
0149nobodyさん
03/09/02 16:11ID:???ユーザ名だけでなくホスト名も指定する。
mysql> grant all on *.* to user1@localhost identified by 'passwd1';
mysql> grant all on *.* to user1@"%" identified by 'passwd1';
0150nobodyさん
03/09/03 02:32ID:uWREVGUNMySQLはユーザ管理をデータベースのテーブルで行っているので、
該当するユーザにマッチする行を削除する。
具体的には、
USE mysql;
DELETE FROM user WHERE User='該当ユーザ';
FLUSH PRIVILEGES;
確かにマニュアルではそれらしい記述が見つかんないな。
とは言え、ユーザ管理を自身のデータベースデーブルで行うという
MySQLのちょっと変わった部分は、MySQLの本を買えばどこにでも
出ているような内容なので、何か本買った方がいい。
0151nobodyさん
03/09/03 07:25ID:???さんくす。
そうか。やっぱり入門書かなんか買おうかな。
お勧めの本とか、逆に勧めない本とかあれば教えて。
田舎なんで、本屋にいっても置いてなくて読めないんだ。
0152nobodyさん
03/09/03 12:16ID:737CDtFnInnoDBって、なんて発音するんでしょうか?
0153nobodyさん
03/09/04 00:17ID:???MySQLの入門なのか、スクリプト言語をつかって
RDBMSにアクセスするアプリケーションの入門なのかによるな。
MySQLの入門なら「MYSQL徹底攻略ガイド」が良いかな。
また、これには言語毎の接続と簡単なアクセスの仕方も
載ってるので「マニュアルが読める」様なので問題なく
理解できるレベルだと思います。MySQLの使い方メインで
もっと深めるなら「MySQL徹底活用」。
これは本当にRDBMSとしてのMySQLの話(運用とかツールも)に
限定してちゃんと書いてある。
RDBMSにアクセスするアプリケーションの入門が欲しいなら、
言語毎に色々出てるのを適当に選んでも支障はないと思います。
http://www.mysql.gr.jp/books.html
の中で、その言語もタイトルに書いてある奴。
あとユーザ削除の追記で正確にはmysqlという名の管理データベースに
ある全てのテーブル(何個かある)のUser='hoge'にマッチする行を
DELETEする必要があります。ユーザ単位に細かく、特定データベースや
テーブルのアクセス権を設定していない場合は不要ですけど。
0154nobodyさん
03/09/04 08:25ID:???オライリーのMySQL & mSQL買って必要な事項をひきつつ前に進んだ方が、あとあと良いだろ。
0155nobodyさん
03/09/04 17:48ID:???MySQL & mSQLは内容が古い。
0157nobodyさん
03/09/14 00:03ID:kQoNWvNkXOOPSの集まりに行ったら、MySQLの開発者Montyさんが来てたので聞いてみた。
MyISAM=マイアイサム(いさむじゃないのか...)、
InnoDB=イノディービー
で良し。ソフトエージェンシーの立岡さんも同じなので、日本語でもいっしょ。
0158nobodyさん
03/09/14 00:32ID:???#152じゃないけど、さんくす
0159nobodyさん
03/09/27 17:43ID:kMMUBk/8さらにそれをプライマリキーにしたいんだけど
簡単な方法を教えてください。
0161_
03/09/27 18:00ID:???http://mona.h.fc2.com/jaz03.html#.2ch.net
http://mona.h.fc2.com/jaz11.html#.2ch.net
http://mona.h.fc2.com/jaz02.html#.2ch.net
http://mona.h.fc2.com/jaz08.html#.2ch.net
http://mona.h.fc2.com/jaz09.html#.2ch.net
http://mona.h.fc2.com/jaz05.html#.2ch.net
http://mona.h.fc2.com/jaz06.html#.2ch.net
http://mona.h.fc2.com/jaz01.html#.2ch.net
http://mona.h.fc2.com/jaz10.html#.2ch.net
http://mona.h.fc2.com/jaz07.html#.2ch.net
http://mona.h.fc2.com/jaz04.html#.2ch.net
0162nobodyさん
03/10/10 14:59ID:wsQ4ga7cDBのデータを月ごとにバックアップしたいんですが、どんな方法が最良かご教授下さい。
毎月、cronでCGI版PHPを動かし、
先月分のデータはCSVでバックアップ。
バックアップした分のデータはDBから削除。
なんですけど、普通にselectで取り出してCSVで保存→deleteで削除
で良いんですかね?
一月分のデータ量は1000件も無いとおもいます。
なにかいい方法があれば教えて下さい。
0163nobodyさん
03/10/10 21:22ID:???0164162
03/10/11 11:56ID:kzrER8VPmysqldumpで指定したレコードだけバックアップできましたっけ?
ざっと調べてみたんですが、それらしいことは見つからず。
月ごとにバックアップファイルを分けたいんですよ。
0165162
03/10/11 12:00ID:kzrER8VP--whereオプションがありました。
すみません・・・
これでやってみます。
0166nobodyさん
03/10/11 16:26ID:???>
> データベースの文字型の扱いをUTF-8にしたいってんなら、
> MySQL4あたりだと出来るはずだよ。
Blobを使うのじゃなくて、データベースの文字コードをUTF-8にできるの?
マニュアル読んだけどわからん。
ヒントをください。
0167nobodyさん
03/10/15 18:40ID:???(http://www.mysql.com/newsletter/2003-04/a0000000148.html にまとまってるけど)
全ての設定が可能なのはMySQL4.1から。それ以前はサーバ単位までだと考えてよい。
だから日本語のマニュアルにはサーバ単位の設定についてしか書いてないよ。
あと次の新しいバージョンではカラム単位の文字コードのサポートが強化される。
0168nobodyさん
03/10/15 18:54ID:???http://www.mysql.com/doc/en/News-4.0.6.html
Added syntax support for CHARACTER SET xxx and CHARSET=xxx table options
(to be able to read table dumps from 4.1).
となってるので、4.0.xでも一部サポートしてるかも知れぬ。
4.0固有の機能をちゃんと使ったこと無いので判らんが。
0170166
03/10/19 08:48ID:???遅レススマソ。
あれからマニュアルあさって4.1からサポートされるのを知って、
今4.1でテスト運用してます。
漢字はちゃんと3バイト消費するんだね。でもアルファベットなんかは
元のままと。
しかし、4.0.X系でもサーバ全体でならUTF-8が使えるって言うのは
初耳ですね。もう一度マニュアル読んでみます。
0171nobodyさん
03/10/26 22:56ID:???0172nobodyさん
03/10/26 23:05ID:???次からはそっちで野郎。
0173nobodyさん
03/10/27 01:09ID:???DB板って今は正常に機能してるの?
0175nobodyさん
03/10/31 23:08ID:???うん。出来てすぐのころドラゴンボール板だとか
結構わやくちゃだったんだけど...今はそうでもないみたいだね。
0176nobodyさん
03/11/01 06:23ID:???_,..,_ ノ´//⌒ ミヾヽ、_
_____ ,r'´ ``'' - 、ーニ三彡´〃 ! ゙ゞヾ、_`ヽ
[|<|____├{ /´ { l | // ヽ`ーr' }
″ ! `、 ' ノ l. ||l i l / l ああっ、つ、つらいです...
', | ̄``''''ー―- ,'´l l |!` ‐--| l l l
', | l l | リ,! l
', | | | ,! ' リ
,.r''ヽ、 _ ', | |. |
,' ` ' ' ' ' ' ' ´ `ヽ ! | |
/ ,.r'´ ̄ '''''' ─−-........__ ,.r' | '''"''‐-、
~´  ̄ ̄ ̄
0177nobodyさん
03/11/05 18:13ID:ETjgtmUYテーブルBにはタイトル・内容などの掲示板の書き込みがあります。
この時、どのメンバーが投稿したかを判断するのに、テーブルB側にはメンバーID
も記録していますが、記録時に一緒に名前・メールアドレス・URLもテーブルAからコピーし
内容と一緒に保存した方が良いのか、それとも
読み込み時毎に、AとBを結合させてメンバーIDから名前やメールアドレスを呼び出したらいいのか迷い中です。
後者のメリットとしては、容量の軽減と、メンバーデータを編集した時に投稿記事にも反映される
と言う感じですが、テーブル結合は、どの程度負担が掛かる物なんでしょうか?
#全てのパターンを一時的に作成するようなので、素人考えて、データ数が多くなった時に
かなり負担が掛かってしまうんじゃないかと考えて、踏み切れないんですが…。
0180nobodyさん
03/11/13 05:34ID:XrP6U/53一回のクエリーでは無理ですか?
今はロックしてから、selectで読んで1を足してupdateしています。
0181nobodyさん
03/11/13 05:44ID:???UPDATE table_name SET hoge = hoge+1 WHERE ・・・
みたいなことってできなかったっけ?
0182nobodyさん
03/11/13 05:52ID:???0183nobodyさん
03/11/13 07:00ID:XrP6U/53本当だー。ありがとうございます。
この場合もやっぱりロックはしておいた方がいいでしょうか?
0185nobodyさん
03/11/13 10:12ID:???ロック→更新→ロック解除
が自動的に行われる
0188nobodyさん
03/11/15 06:00ID:ZDgVRzRDPHPなどで出来た、
MySQLをウェブ上でいじれるプログラムなんてないでしょうか?
0189nobodyさん
03/11/15 10:23ID:???軟弱モノめ
phpMyAdmin - http://www.phpmyadmin.net/
0191nobodyさん
03/11/15 12:18ID:???0192189
03/11/15 13:31ID:???入れてみたら今まで何だったんだってくらい便利です。日本語でも使えるし。
いいものを教えて頂きありがとうございます。
>>191
http://www.hi-ho.ne.jp/tsumiki/
これですね。これも見てみます。ありがとうございます。
0193nobodyさん
03/12/02 15:23ID:???カラムA カラムB
232 0
422 0
433 0
↓
カラムA カラムB
232
422
433
MySQLでそのまま移動できれ良いのですが。
0197nobodyさん
03/12/03 18:39ID:TwnN/agAコネクションが多すぎて接続できない、というようなエラーが出たので、
maxconnectionを2500にして再起動しました。
今のところ、正常に動作しているようですが、
maxconnectionの妥当な値とか限界ってどのくらいなのでしょう?
0198nobodyさん
03/12/03 20:17ID:???おいおい、2500たぁすげえな。
サーバ資源追いつくのか(笑
デフォの100は少ないやね。直ぐに限界がくる。
#ウチは500。
0200nobodyさん
03/12/03 23:21ID:TwnN/agAえっ…!!
100→500→とあげてきたので、もう一気にずばーんといってやれって感じで
5倍にしました。多すぎますかね?今のところは普通に動作しているようですが…。
>>199
topで見ると一つのmysqlがメモリ6〜7%くらいくってます。
全部のmysqlの数字が同じようなのですが、
これは全部まとめて6%ということでしょうか?
やばい数字ってtopで見ていくつくらいになりますか?
0201nobodyさん
03/12/03 23:25ID:???サーバの能力にも拠るが、DBへの問い合わせの負荷(テーブル設計に依存)にも
拠るので、単純にnコネクションなら大丈夫とか言えないということ。
0202nobodyさん
03/12/11 04:22ID:???WinMySQLのデータベースの内容をMS-Accessで編集できますか?
0204nobodyさん
03/12/11 15:33ID:???0206nobodyさん
03/12/13 11:03ID:F92TNOCR今稼働中のmysqlをシャットダウンして、
インストールした時と同様にインストールすればそれでOKですか?
稼働中のmysqlのデータファイルに変に上書きしたりしないでしょうか。
0207nobodyさん
03/12/13 11:12ID:???0209nobodyさん
03/12/13 15:56ID:???winmysqladminはあるよ。MySQL管理ソフト(クライアント)ね。
>>208
MySQL4.1.1が出たからそれに、とか。
0210206
03/12/15 07:08ID:???ありがとうございました
>>208
微妙に古いのを使ってたことが分かったので3.23.58にしました
makeに予想以上の時間(1時間以上?)がかかって、
その間ちゃんとインストールできるのかドキドキでしたが
無事バージョンアップできますた。
0211nobodyさん
03/12/15 10:03ID:???素朴な疑問なのですが
makeに1時間かかるマシンでもMySQLは実用になるのでしょうか?
できればマシンスペックを教えて下さい。
0212nobodyさん
03/12/15 10:19ID:6kUbsNObバイナリログを取得する設定にして、
lsで見ていたら、
2秒で1万バイトくらい、ログのサイズが増加していくのに気づきました。
これではあっという間にディスクを食い尽くしてしまうと思うのですが
こんなものでしょうか?
0213212
03/12/15 13:08ID:???ログの連番は、
http://www.mysql.jp/mysql/TIPS/one_way_replication.html
ここを見ると001等、3桁ですが、これは999になった後はどうなるのでしょう?
0214206
03/12/16 00:16ID:???三年くらい前に借りたさくらのレンタル鯖です
調べたらセレロン400/メモリ64Mでした。
今となるとかなりショボいっすね
MySQLはマシンスペックが素直に反映するらしいので乗り換えようかな。。
0215nobodyさん
04/01/26 13:54ID:???insert TABLE名 set COLUMN名='内容'
みたいにupdate文形式でも使えてしまうんですが、この文体で書いても問題ないんですか?
0216nobodyさん
04/01/26 14:06ID:???板違いです。
http://pc2.2ch.net/test/read.cgi/db/1056942908/
ここで聞きましょう。
0217nobodyさん
04/01/29 22:18ID:???order by nameを使うとエラーが出てしまいます。
おそらくDBの作り方が悪いのだと思いますがどのように作るとよいのでしょうか?
phpmyadminで作っています。
フィールド名=omise
フィールドタイプ=varchar(100)
表示=なし
空の値=いいえ
基本値=なし
です
これ以外はなにも設定変えてません。
ヘルプよろしくお願いしますm(_ _)m
0218nobodyさん
04/01/29 23:03ID:???0219217
04/01/30 09:37ID:???Nullを設定してないだけでした
0221nobodyさん
04/01/30 23:09ID:???汎用系作ってるんですがロールバック使いたいので、どんなもんかと・・・。
よろしければご教授おねがいします。
0222nobodyさん
04/01/31 03:28ID:???割合が言えるほど資料も経験もない。
ただ最初からロールバックが使えるホスティング(innoDBかは知らん)と
innoDBが使えるように変更して貰ったホスティングの両方の経験はある。
「当てずっぽうで借りたら使えた」って程、一般的なもんではないので
ちゃんと契約する前に訊けばよい。
0223nobodyさん
04/01/31 20:32ID:???0224nobodyさん
04/02/20 04:49ID:DNjtjE82鯖屋が無料インストールしてくれたバージョンが3.23.56です。
今まで稼働していたのが3.23.58。
かなり些細なバージョン違いですが
やはりデータの形式に齟齬が出るでしょうか?
バイナリのデータをまるまるコピーできるのは
あくまでバージョンアップの時だけですか?
今テストしているのですが微妙にバギーな感じで、
もしかしたらバージョンの違いが原因なのかな、と思ったのですが…
0225nobodyさん
04/02/23 10:58ID:???そのSQLで新鯖へデータ移行してみれば?
0226nobodyさん
04/02/23 17:09ID:???そうします。
Got error 127 from table handler
というエラーが出ました。
テーブルが壊れている時に出るエラーのようです。
0227nobodyさん
04/02/24 18:12ID:FnpMfmB+Apacheを起動して、MySQLも起動しなければならないのですが、
どれを実行したらいいのかよくわかりません。
winmysqladmin.exeを実行すればよいのでしょうか?
0228nobodyさん
04/02/26 02:53ID:???mytableから$sortで並べ替えてaddressを検索してlimitで$PAGESIZE * ($page - 1) ."$PAGESIZE
を取得したいのですが、
$sql = "select * from mytable order by $sort desc where address like '%$address%' limit " .$PAGESIZE * ($page - 1) ."$PAGESIZE";
これって間違ってるのでしょうか?
0229nobodyさん
04/02/26 03:05ID:???解決した
0230nobodyさん
04/03/02 03:25ID:U9B/qlfAどうすればよいのでしょうか?
0231nobodyさん
04/03/02 19:38ID:???0232nobodyさん
04/03/03 12:43ID:zpH+WglD0233nobodyさん
04/03/03 13:01ID:???0234nobodyさん
04/03/04 15:50ID:muAKEQzlflockのようなものはないのでしょうか?
0235nobodyさん
04/03/04 21:56ID:???複数からの接続はあってもSQLは順に処理されるから、
データが壊れるとかは気にする必要なし。
(これは一般のリレーショナルデータベースなら、みな同じ)
けれども、ひとつのクライアントが複数のSQLを発行していて、
その間に別のクライアントからのSQLが割り込んでもらったら困る場合は、
テーブルをロックする必要がある(たとえば、途中で更新されては困る場合など)。
マニュアルの
6.7.2 LOCK TABLES/UNLOCK TABLES 構文
を読むべし。
MySQL以外のリレーショナルデータベースは通常、
こういう用途のためにトランザクション機能を持っている。
MySQLもバージョンとテーブル型を選択することによって、
トランザクション機能が利用可能だ。
0236nobodyさん
04/03/05 06:31ID:fxR/ujQSwebminにDBD::mysqlを手動で入れろと言われたので
入れようとしたのですが
perl Makefile.PLを実行すると、
Can't exec "mysql_config": No such file or directory at Makefile.PL line 174.
と言われてしまいます。
mysql_configはmysql/binに入っていたので
それをDBD-mysqlディレクトリにコピーしてみても同じことで…。
いったいどうすればいいのでしょうか?
0238nobodyさん
04/03/05 18:33ID:6f95vfYHchar, varchar, textはどのように使い分ければいいのでしょうか?
例えば、次のようなカラムを作ろうとした場合、文字列型は何が適切なのかで悩んでいます。みんなvarcharでいいような気もしますがどうなんでしょう。
id (半角英数)
password (半角英数)
名前(全角)
ふりがな (全角)
メルアド
郵便番号
住所
電話番号
>235はありがとうございました。トランザクション機能についてはよく分からないのですが、自分で勉強してみます。
0240nobodyさん
04/03/05 23:22ID:???CHARの方がVARCHARよりも検索スピードでは有利なんだけど、
MySQLはCHARとVARCHARとの間で暗黙(勝手に)の型変更があるので、
CHARだと思い込んで設計しない方が良いよ。
あと末尾のスペースの扱いも、ちっと他のDBMSと違うのにも注意。
0241nobodyさん
04/03/07 10:51ID:???これをレンサバ(Valuedomain)で運用する場合、やはり大きな負担になってしまいますかな?
使途はBBSなんですが、都合上スレッドの追加、削除をかなり頻繁に繰り返さなければ
ならないので上記の形(レス単位でレコード化)ではなくスレッド単位でレコードにしてしまおうか、
かなり悩んでおります。
形としては当然前者がスマートなんですが1分間に数百回insertするシステムて果たしてどうなのか・・・
0242nobodyさん
04/03/07 10:55ID:EF5NuiF00243nobodyさん
04/03/07 12:10ID:???表示の時はDBから毎回生成しなければそんなに負荷は掛からないんじゃないの
まあ 書き込み:読み込み のアクセス比率によっても変わるけどね
でも1分間に数百の書き込みって凄いと思うんだけど本当ですか?
0244nobodyさん
04/03/07 12:13ID:???0245nobodyさん
04/03/07 12:20ID:???レスどもー
スレッド単位で激しい増減があるので結果的に数百というレコード数になってしまいますな
ただ先ほど、やはりBBSデータそのものをDBに保存するのは得策じゃないという結論に達しました
全文検索も簡単に出来るし使い勝手も良いのでなんとなくDBを使いたがっておったんですが、
スレッド毎にファイル保存して読み込むという、シンプルな手法を取ることにしました
DBはスレッドのいわゆるヘッダ情報のみを取り扱うことによってBBS群を管理しようかと思います
0246nobodyさん
04/03/07 22:37ID:???正直、全文検索が必要になるほどの価値のある書き込みのBBSを運用してみたいものよ。
MLのログアーカイブはDBに入れちゃって処理してるけどねぇ。
0247246
04/03/07 22:40ID:???(データのロギングやアナライズが結構必要なんよ)
0248nobodyさん
04/03/08 00:24ID:???0249nobodyさん
04/03/08 01:19ID:???http://www.google.com/search?&q=MySQL
0250nobodyさん
04/03/08 01:49ID:???0251nobodyさん
04/03/08 02:28ID:Ajodln9P0252nobodyさん
04/03/08 02:28ID:???0253nobodyさん
04/03/08 03:20ID:???MySQLってすごいんですね。
0254nobodyさん
04/03/08 04:23ID:???必要なところにはOracleだって使ってるだろうし、他のDBMSだって同様。
0255nobodyさん
04/03/08 10:10ID:???0256nobodyさん
04/03/08 10:10ID:???0257nobodyさん
04/03/08 16:20ID:???むしろ量での割合は結構使ってて、胆のフロントエンジンや
DBの分散PROXY(当然使ってるだろう)辺りは完全独自じゃないかと
思ってるんだけど。なんで量かっていうとキャッシュなどの部分で
ストレージっぽく貯めてるのがMySQLじゃないかな。
0258nobodyさん
04/03/08 22:02ID:???ID varchar(10),
Name varchar(20),
Pass varchar(40),
No int(2),
unique(ID,Name,Pass)
);
でテーブルを作成しました。
僕が望んでいる動作はID,Name,Passが絶対に重複しないようにしたいんです。
ID:a Name:あいう Pass:1234
ID:b Name:あいう Pass:1876
この場合でも重複とみなしたい、ということです。
ですが、今は、IDとNameが重複したときのみ、エラーが出るんですが・・・
MySQLのエラーコードを見るには
a-あいう-1234・・・・
って出るので、もしかして、1列でまとめてデータ比較するから、だめってことですか?
0259258
04/03/08 22:31ID:???MySQL側に頼り切るより
selectで呼び出して、重複して無いか調べるべきですね・・・
0260nobodyさん
04/03/09 02:46ID:AUivw7LZうちは重複してなんぼのDBだからよく知らないが・・。
0261nobodyさん
04/03/09 22:15ID:???postgreSQLは使えるよ
0262nobodyさん
04/03/09 23:51ID:???mysql(MySQL 4.0.18nt)でphpMyAdmin(phpMyAdmin 2.5.6)を動かしています.PHPはVersion 4.3.4.
phpMyAdminで,データベースの各テーブルの【SQL】メニューから,
テーブルにテキストファイルの追加を選ぶことでcsv形式のファイルで登録しようと思ってます.
で,以前使っていたときはcsvファイルをuploadするときに文字コードを(EUCとかSJISとか)変換する
チェックボックスがあったのですがOSなどをインストールたところ,それがなくなってしまいました…
何か設定項目がありましたらどなたか教えてくださいm(_ _)mよろしくお願いします.
0263262
04/03/10 01:41ID:???php.iniでphp_mbstringを使えるように設定がうまくいってなかった模様でした.
0264nobodyさん
04/03/10 02:37ID:???僕はWindowsのコマンドプロンプトから入るんですけど
その場合、マルチバイトの文字がフィールドにあると、化けますよね?(文字エンコードをEUCにしてるから)
それで、マルチバイトのデータがあるテーブルを見るときは、phpmyadmin使ってるんですが、こればっかりはどうしようもないものなのでしょうか?
0265nobodyさん
04/03/10 04:14ID:???それにeucかsjisのプラグインぶちこんであげれば
表示の文字化けが直る。ただエディタ機能はsjisしかないのかな?
だからうちもSSLでコマンドプロンプト。
0266nobodyさん
04/03/12 07:39ID:???ソートと検索がうまくいきません
レンタルしてるサーバーはttp://www.80code.com/ですが
もしかして80codeも
ttp://zerokara.com/server_chart.html
ここのレンタルサーバーのページ下のほうに書いてあるように
ソートと検索において不都合が生じる可能性がございます。)
ということでしょうか?
0267266
04/03/12 10:59ID:???0268nobodyさん
04/03/12 11:06ID:???自己解決したなら原因理由を書くのがマナー
0269266
04/03/12 16:10ID:???0271266
04/03/12 18:12ID:???テーブル作るときに文字コード指定したらいいとのことだったのですが
テーブルってphpで作れますか?
作れるとしたら教えてください。。。
また、コマンドプロンプトやMySQLManagerで接続しようと試みたのですが
どうあがいても接続できませんでした。。。(約4時間)
TableのSQLステートメントのDEFAULT CHARACTER SETというパラメータで
文字コードが選択できるらしいのですが、
ただテーブルを作るだけなのですが、わかりません。。。
よろしくお願いします。
0273266
04/03/12 19:09ID:???DEFAULT CHARACTER SET使えないので。。。
0274266
04/03/12 19:12ID:???0275266
04/03/12 20:02ID:???以上で解決いたしましたm(_ _)m
0276nobodyさん
04/03/12 20:09ID:???つか、Query windowでSQLクエリ発行すれば
権限ある行為は基本的に全部出来るだろ。
SQLはMySQLのマニュアルなり本買ってきて読め。
0277266
04/03/13 13:28ID:???この構文が実行できないのです
create table hoge (name varchar(10) character set ujis);
ついでにこちらもできません
alter table table1 add (name varchar(10) character set ujis);
character set ujisを外すと実行できるのです
ちなみにcreateもalterも権限はあります。ujisもサポートされているとのことです。
よろしくお願いします。m(_ _)m
0278nobodyさん
04/03/13 15:21ID:???my.iniのdefault-character-set=ujisで全データベースのキャラクタセットが決まると思ってたんだがな・・
テーブルごとに変えれるとは知らんかったよ
0279nobodyさん
04/03/13 15:31ID:???MySQLのバージョンは?
ujis対応してるといっても、MySQL3.xまではサーバ単位
MySQL4.0.6以降でも単に"構文"が許されただけだよ。
(MySQL4.1からdumpしたのをぶち込むため)
"構文"の対応度もリビジョンで色々と細かく違うが、
実際に機能はしないので普通は関係ない。
実際にカラム、テーブル、DBでキャラクターセットを指定して
設定できるようになったのはMySQL4.1から。
http://www.mysql.com/doc/ja/Nutshell_4.1_features.html
貴方の使ってるところがMySQL4.1より前のだとしたら…
その程度で仕事してるとは、いい商売だな>レンタル屋の回答
0283266
04/03/17 13:21ID:???プログラミング系のご質問はサポート外ですので当方ではご対応できません。
とのことでした。
これ以上僕にはどうすることもできません。。
ちなみにバージョンは3.23.58
2ちゃんねらのみなさん。ありがとうございましたm(_ _)m
0284nobodyさん
04/03/20 13:02ID:???MySQLをRedHat9にインストールしているのですが、
インストール終了後に行うDBの初期化で下記エラーがでてしまい、先に
進むことが出来ません。
ERROR: 1064 Something is wrong in your syntax : '"REPLACE works exactly like INSERT,
except that if an old\nrecord in the table h' 付近 : 1 行目
make installは上手くいったと思うんですが。。。。やはりインストール失敗
しているのでしょうか?ちなみにMySQLのバージョンは4.1.1-alphaです。
もう1点はRedHat9に収録されているMySQLをRPMでインストールしようとすると
[loca@llocalhost root]# rpm -ivh /mnt/cdrom/RedHat/RPMS/mysql-server-3.23.54a-11.i386.rpm
エラー: Failed dependencies:
mysql = 3.23.54a is needed by mysql-server-3.23.54a-11
というエラーメッセージがでてしまいます。
自分なりにいろいろ調べてみたのですが、どうしても解らない為、
どなたかご教授お願い致します。
0285nobodyさん
04/03/21 03:29ID:???0287nobodyさん
04/03/25 12:22ID:???上は4.1.1-alphaだとそうかもな。折れの場合起こらなかったけど。
同様のケースをMLだったかWebで見かけた。多分2chだったと思うけど、
自分で対処の仕方を探して見つけ、処理できないなら4.1使うのは止めとけ。
貴方に限らず良くAlpha版とかBeta版を選択する傾向があるみたいだけど何でなん?
AlphaやBetaのレベルは製品や会社毎で、出来合いの程度が違うから
その見極めが出来る前に、正版以外を選択するのはどうかと思う。
下はRPMの依存関係。要は3.23.54a-11.rpmは差分しか入ってないから
それ以前の3.23.54a自体も入れろってこと。
RPMの事まで説明すんの面倒くさいから、
http://www.softagency.co.jp/mysql/LAMP/
の配布パッケージ使っとけ。
0288nobodyさん
04/03/29 20:12ID:WLZZ269xmysqldの実行権限の問題だと検討つけてるんですけど、、、
0289nobodyさん
04/04/03 13:28ID:HKxnmMLJ1)ロックをかけてその間にプログラムで検索する
2)MySQLのユニークキーを用いる
の2案を考えています。
この場合、
1)ではタイムアウトのおそれがあります。
2)では同じタイミングで複数からコネクトされたときに重複するおそれはないのでしょうか?
MySQL側で対応してくれるのでしょうか?
初歩的なことで悩んでいます。
よろしくお願い致します。
0290nobodyさん
04/04/03 17:28ID:???漆芝写璽芝社煮質射舎悉釈痔斜湿。ヲ治竺疾治嫉痔煮痔蒔痔痔痔屡痔蒔痔痔痔屡治爾
治隘軸治射璽赦璽?謝璽紗璽捨痔斜磁ァ射治湿磁識磁鹿治湿痔?紗痔痔痔。ヲ
治隘軸治射痔蕊痔煮屡竺痔失磁質磁痔磁釈磁?鴫痔蕊写璽質?辞痔ァ宍磁赦磁識磁縞痔七痔。ヲ質痔縞痔鹿痔射漆芝写璽痔嫉痔。ヲ蒔痔漆痔。ヲ煮痔写痔痔痔斜痔蕊痔執痔ヲ示痔辞治自
治隘赦璽?謝璽紗璽捨篠示痔蕊篠社竺?痔執痔屡痔識痔。ヲ。ヲ斜痔蕊痔執痔ヲ示痔辞治自
磁酌磁。ヲ蔀磁嫉磁。ヲ偲磁舎痔蕊屡鴫室?執痔屡痔ヲ示痔汐治爾痔漆痔。ヲヲ辞痔ネ煮痔識磁。ヲ識磁耳磁嫉磁縞痔煮
1痔柴痔者痔縞痔柴漆マ?痔七痔。ヲ酌痔嫉痔辞痔」爾漆芝写璽痔嫉痔。ヲ宍痔縞痔煮痔写痔痔痔蕊痔嫉治璽
0291290
04/04/03 17:33ID:???>>289
重複登録防止の手法云々はおいておいて、
>2)MySQLのユニークキーを用いる
>2)では同じタイミングで複数からコネクトされたときに重複するおそれはないのでしょうか?
>MySQL側で対応してくれるのでしょうか?
マルチスレッドで動作してようが、それらから届くリクエストは
1つひとつ処理されますから、重複することはないです。
0292nobodyさん
04/04/03 18:20ID:???了解です。
たぶん、ちゃんとやってくれているんだろうなぁ・・・とは思っていたのですが、なにせ
確認する手段が無かったもので不安でした。
ロックかけてしまうとノロノロサーバなのですぐにタイムアウトしそうで・・・
どうもでしたm( _ _ ;)m
0293nobodyさん
04/04/06 16:50ID:RzzYT55p0296nobodyさん
04/04/07 15:09ID:4leqw1vcマニュアルでは
<?php
mysql_connect ("localhost:3306");
$result = mysql_list_tables ("wisconsin");
$i = 0;
while ($i < mysql_num_rows ($result)) {
$tb_names[$i] = mysql_tablename ($result, $i);
echo $tb_names[$i] . "<BR>";
$i++;
}
?>
0297nobodyさん
04/04/07 17:41ID:VgqQfo5bで、文字数を5文字に増やしたいので
char(3)を、char(5)に変えましたら、
フィールドタイプが可変長のverchar(5)になりました。
(3文字固定が5文字になったので、当然でしょうが・・)
やっぱり、やめようと思い、再び フィールドタイプchar(3)に設定しなおしたのですが
verchar(3)になり、charタイプに変更出来ません。
データの追加等々はしていません。
一度、vercharに変更すると、charには戻せないんでしょうか?
0298nobodyさん
04/04/07 18:14ID:qUHh0KEC6.5.3.1 カラムの暗黙的な変更
http://www.mysql.com/doc/ja/Silent_column_changes.html
MySQLではセオリーとしてCHARを指定しようが
VARCHARであるものとしてアプリ側を設計するのが正解。
http://www.mysql.com/doc/ja/CHAR.html
でCHARとVARCHARの違いと、他のDBMSとの違いにも注意。
文字長指定は日本語なんかだと1文字の長さ(バイト)が
固定で無いので、指定の意味が無いのも判るが
バイト長固定の型がない理由が良く判らん。
固定型の方がスピードで有利だと思うんだけどな。
0299297
04/04/07 20:32ID:YKOta6fCMysqlは、VERCHARでやります。<(_ _)>
0300nobodyさん
04/04/08 01:14ID:/bs+vyyXshow tablesとかでできないの?
が、突然出ました。
復旧したのですが、
これって、どういう場合になるんでしょうか?
お分かりの方いらっしゃいますか?
0303nobodyさん
04/04/11 17:59ID:???ERROR 1030: Got error 127 from table handler
というエラーメッセージが表示されました。
その後、特に何も対処しなかったのですが復旧しました。
このエラーメッセージはどういった場合に表示されるのか
ご存知の方いらっしゃいますか?
0304nobodyさん
04/04/11 19:19ID:???302=303で、且つ別のスレにマルチポストしてる
香具師じゃないのか?
本人だったら投げるばっかりではなくちゃんと見ろ。
別人だったら情報を収集する能力をもちっと身に着けろ。
0305303
04/04/11 20:33ID:???お許しください。
ペコm(_ _;m)三(m;_ _)mペコ
http://pc5.2ch.net/test/read.cgi/db/1079502373/74-
教えてくれかた。本当にありがとう
0306nobodyさん
04/04/13 13:32ID:???どなたか解る方、いましたらご教授ください。
SELECT * FROM hoge ORDER BY id
↑このようにまずidでソートした結果にさらに、date(最終更新日データを持つint型のフィールド)でソートしたいのです。
0307306
04/04/13 13:34ID:???最初にソートした結果が重複した場合に並べ替えたいという意味です。
0308306
04/04/13 13:37ID:???上記の内容で伝わるか不安なので、もう少し書きます。
例えば、スコアを競うゲームのランキングを表示する時に、スコア順でソートした結果、同じスコアの人が2人以上いた場合に、更新時間順で、順位を並べたいといった感じの
SQL文を書きたいのです。
0309nobodyさん
04/04/13 13:54ID:???http://dev.mysql.com/doc/mysql/ja/Sorting_rows.html
0311nobodyさん
04/04/30 11:42ID:6/qGIiuk0313nobodyさん
04/05/04 19:22ID:???信頼のおけるデータに特化していないとはいえ、やっぱりかっこ悪いんで直したいんだけれども…。
全ファイルEUCに直しちまうかな。
0314nobodyさん
04/05/04 19:32ID:???0316nobodyさん
04/05/05 01:31ID:arqfTLfp―――――――――
+1|りんご|バナナ
-1|りんご|
-1|バナナ|
+1|もも |りんご
-1|バナナ|
こんな感じのテーブルがありまして、各果物ごとの合計数を出したいんですが、どうもうまくいかないんです。
(こんな感じが理想↓)
sum(point)| col
―――――――――
+1 |りんご
-1 |バナナ
+1 |もも
今、winローカルのMyQL4.0で勉強してるんですが、4.1なら
select col,sum(point) from table where not(col="") group by col =
(select col_A as'col',point from table union all select col_B,point from table);
こんな感じで通用しますか? 他に方法が思いつかないのですが……
0317316
04/05/05 01:38ID:???実際に何が入るかはわからないので、where col = "りんご" とかは文に入れられないです。
0318nobodyさん
04/05/05 05:27ID:???おまえら様はHTMLの文字コード何使ってんの?
おれは面同だからhtmlもmysqlもsjisに設定してるんだが。
EUC使うべきなんだろうか?
0319nobodyさん
04/05/05 05:31ID:???0320nobodyさん
04/05/05 11:33ID:???内部処理とか考えたことあるの?
よくそれでずっとsjisで出来るな
0321nobodyさん
04/05/05 14:07ID:BMQ0QdDeフォームから拾ってきた値の中に、ソ、表、能などの文字があった場合
やっぱり文字化け起こすの?
0322nobodyさん
04/05/05 14:21ID:???Sjisで受け取ってPHP(cgi)内でEUCに変換して
MySQLに書き込むんだろが・・・
Web出力はS-JISが望ましいので
SJIS受け取り→スクリプト内でSJIS->EUC変換→MySQL書き込み
MySQL受け取り→スクリプト内でEUC->SJIS変換→SJIS出力
がセオリーだろ
0324nobodyさん
04/05/05 15:50ID:???バカにされてるのか
0325nobodyさん
04/05/05 15:55ID:???PHPにはあるの?
0326nobodyさん
04/05/05 16:03ID:???ASPならACCESS(MSSQL)でやれば文字コード気にせずSJISで統一できる。
0328nobodyさん
04/05/05 17:52ID:???0329nobodyさん
04/05/05 18:00ID:???>えー だってASPだと文字コード変換する関数がないんだもん
BASP21のKconv使え。つか俺の場合ASPの言語比率はPerlの方が高いので、
ASP=VB/JScriptとするのは止めてくれんか。
0330nobodyさん
04/05/05 18:08ID:???0331nobodyさん
04/05/05 18:22ID:???0332329
04/05/05 18:45ID:???いやいや、普通にIIS+ActivePerl。
Apache::ASPを採用したことは今のところ無し。
移植するなら大いに有り得るが、シチュエーションがないですね
0333nobodyさん
04/05/05 19:34ID:???PHP4.3.6でMySQL使えるようにするにはどうしたらいいですか?
試しにPHP5用のphp_mysql.dllをextensionsに入れて、
php.iniに設定追加などしてみましたがやはり認識しませんでした。
0334333
04/05/05 20:08ID:???PHP4まではphp_mysql.dllは必要ないんですね。
php.iniいじらないといけないのかと勘違いしてました。
phpinfoみたら正常に動いてました。
0335nobodyさん
04/05/06 20:10ID:5CuaifxEbasp21のkconv上手く使えないんすけど
ASPのinsert文でexcuteの所でエラーになる(型が一致しませんと)
リファレンス見てみると、なんだか戻り値にバイト配列受け取ってるのが原因っぽいんですがどうなんでしょう?
↓
[out] : 変換後の漢字コードを文字列(UNICODEの場合)あるいはバイト配列で
返します。
outtype = 0 なら漢字のタイプを数字で返します。
↑
HTMLはshift-jis、MySQLはujisに設定していて
shift-jis→EUCにしたいので、
out = bobj.Kconv(moji,2,1)
のように処理しているのですが・・・
0336nobodyさん
04/05/08 16:27ID:???MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 3.23.49
Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
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
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off
odbc
すみません。 これはphpinfoで示した物をコピペしたのですが
mysqlは動いているのでしょうか?
環境は Apache2(win32)+php4.3.4+mysql-4.0.18-win+perl です
mysql以外の動作は問題なく動いています
どうしてもweblogをやりたくて今回初めてmysqlを入れたのですが良くわかりません。
ググって調べてやれることはやったつもりなのですがうまくいきません。
申し訳ないのですがいい知恵が有りましたらお願いします
0337nobodyさん
04/05/08 17:20ID:???phpinfo()の表示からはMySQLが動作してるか/していないかの判別は出来ない。
>環境は Apache2(win32)+php4.3.4+mysql-4.0.18-win+perl
手元のPCに入れてるようなのでPHP+MySQLの組み合わせの簡単な
初心者本が何冊も出てるので、それみて基本から勉強した方がいい。
# MTとかの本にも環境のインストールから書いてあるものがあったとは思うけど。
0338336
04/05/08 20:32ID:???ココと同じようにインストして次にパス通して(システム→詳細設定→環境変数→Path)
その後コマンドプロントで動作確認はしました。
タスクトレイでも青信号です。
何か糸口はないでしょうか
0339nobodyさん
04/05/08 20:43ID:???まずデータベースを作成しないと
そしてユーザー作成も
その辺はWebで漁ったらいくらでもある
しかし、そのレベルにも達してないような・・・
0340nobodyさん
04/05/08 22:16ID:???じゃあ、mysqldは動いてるね。
あとはmysql(クライアントツールの方ね)から接続できるか試してみて、
動作テストはMySQLのマニュアルに出てるでしょ。
# 「コマンドプロントで動作確認」がその指示に従ってるなら不要だけど
で、その設定(my.cnfのクライアントのところの設定)をPHPに反映させる手順かな。
phpinfoの表示からはmysql拡張モジュールは組み込まれてるのが見て取れるので、
アプリの設定だけで、多分上手くいくよ。
339が言ってるようにアプリによっては事前に専用の
ユーザやデータベースの作成が必要/推奨されてるかも。
その辺はアプリの話なので付属のドキュメントかblog系のスレをあたる。
大抵はユーザやデータベースをmysqlで先に作っておくのが常套。
0341nobodyさん
04/05/08 22:48ID:???web上にうpしたデータのパスの指定がわからんかったから、結局あきらめてfgetsで1行ずつ読んじまったOTL
0342336
04/05/09 22:22ID:???うまくいかなかった原因は
http://www.dream-seed.com/server/mysql.html
ここのサイトの下の方に
ここで入力したユーザー名とパスワードはDBにアクセスする際に使用するもので、
PHPスクリプトなどでも使います。
こんな一文があり、この時点でユーザーとパスが設定されているものだと思い込んでいました
サイトに書いてあるからと鵜呑みにしては駄目ですね
>>340さんの
大抵はユーザやデータベースをmysqlで先に作っておくのが常套。
この一言が解決へつながりました。ありがとう御座います。
その他の皆様も真剣に答えていただき大変感謝しております。
これを機に少しでも多く覚えられるよう勉強していきたいと思います。
本当にありがとうございました
0343nobodyさん
04/05/09 23:05ID:???解決おめ。
>サイトに書いてあるからと鵜呑みにしては駄目ですね
そうだな。できる限り原典(公式マニュアルとか)にあたるか、複数ソースでウラを取ったほうがいいよ。
0344nobodyさん
04/05/11 00:09ID:???http://www.dream-seed.com/server/mysql.html
こいつ厨まるだしだな
0345nobodyさん
04/05/11 00:59ID:???良く分からん解説ページなんて、見るのは時間の無駄だ。
0346nobodyさん
04/05/11 10:16ID:???技術的な間違いはともかく、そういう抽象的な指摘は良く判らん。
少なくても俺よりはデザイン力があることは判ったが、
技術的な記述はやった手順だけで、それ以外のルートやTipsなんかが
無い点で解説としては物足りないが、全然資料がないソフトなんかだと
単なる作業ログの公表だけでも充分有益なんだけどね。
# 本当に、誰かやったことがある人が「いる」ってことだけでも。
0347nobodyさん
04/05/13 11:34ID:ivEny0gvすでにperl5とhttpdは漏れのパソコンに入れてるんだけど、mysqlも入れて色々試してみね?
ってとりあえずzip形式の香具師を入れてみますた。
setup.exeが済んで次はwinmysqladmin.exeをクリックしてmy.iniファイルを作れ!って指令だったから
その通りにしますた。
次はmysqldをクリック!
????出てきたプロンプト画面が数秒で勝手に閉じてしまった・・・・・何度やっても同じですた。
誰か漏れを助けて_|~~|○
0349347
04/05/13 12:28ID:???漏れを救ってくれてありがとう!
0350347
04/05/13 14:49ID:???そのプロンプトから
mysql -h ホスト名 -u ユーザ名 -p
password****
を入力するとこんなエラー文が出てきますた。
ERROR 1045:access denied for user...
翻訳すると「ユーザのために否定されたアクセス」となりますがユーザ名はちゃんと
mysqladmin.exeで設定したものツカタから間違ってると言われてもね・・・・
漏れの何が悪いんだ_|~~|□
0352nobodyさん
04/05/13 15:24ID:???0353nobodyさん
04/05/13 15:27ID:???Serviceは動いてるのに
MySQLadminのServerInfo空っぽになっちゃう
Tinyアンインストールすると問題無し
ほかにもこんな人いる?
0354347
04/05/13 15:54ID:???してませんですた。そんな話すら知りませんですた。で、今mysqladmin開いてmi.ini.setupのとこのユーザ名を
とりあえず、a@localhost、ってやって、
mysql -h localhost -u a -p
password:****
ってやってみますたが、やっぱりエラー文は変わりませんですた。他にも色々やってみますたがエラーの奴隷になっていまつ・・・
>>351
匿名で接続はうまくいくんだけど、一応ホスト名・ユーザ名・passを指定しての接続もできるようになておきたい。
0356347
04/05/13 16:30ID:???思うでつ。
ところで共用鯖のmysqlの安全性ってどれくらいだろう。共用鯖でクレジット決済とかやったら無謀?
まったくやる気はないけど後学のために聞いてみたいでつね。
0359347
04/05/13 18:37ID:???ありがとでつ
今はperlからmysqlを操作する為にとりあえずDBIモジュールが必要ってんで初めてcpanに行くが
落とし方わからず1時間経過_|~~|○・・・・なんで青い画面が出てから動きがないんだろう・・・
青い画面を前に右往左往してる漏れ、情けない;
ならばソースをブラウザからコピーだ!・・・一杯ファイルがあって撃沈。DBI.pmだけでいいはずと思うが自信なし・・
みたいな状況でつ。頑張りまつ!
0360nobodyさん
04/05/13 19:12ID:???phpインストールしてphpmyadmin入れるとか
EUCも使える日本製のDBクライアント「かねやんなんたら〜」を入れるとか
0362347
04/05/13 21:05ID:???プロンプト画面から、データベース作ったりテーブル作ったりは問題なしでつ。まだユーザ名の
問題は解決してないけど、とりあえずそれは置いとく事にしますた。
>>360
今のところperlが一番マシでつね。初めてHTMLタグを見てから2ヶ月くらいなので、たかが知れてるけど;
0363nobodyさん
04/05/13 21:46ID:rgBd1RCOFedora core1に全てソースから
apache 2.0.49(./configure --enable-so)
php 4.3.6(./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-sigchild --enable-mbstring --enable-mbregex --enable-zend-multibyte --with-mysql)
mysql 4.1.1(./configure --with-extra-charsets=all --with-charset=ujis --prefix=/usr/local/mysql)
で、インストールして
テストのために
<?php
$ID = mysql_connect("localhost:3306","ID","Pass")
?>
というスクリプトをサーバーに設置してブラウザから開いたのですが
いろいろと試してみたのですが
Warning: mysql_connect(): Access denied for user: 'nino'@'localhost' (Using password: YES) in /usr/local/apache2/htdocs/sqltest.php on line 2
というエラーメッセージが出るところで止まってしまいます。
原因、解決法等、どなたか御教授願います。
0364kuro
04/05/13 21:51ID:Enx3JY3Vhttp://pcbiz-j.com/business/blt.html
■不用品の処分から高額換金、プロのノウハウなど、毎月30万円稼ぐテクニックをあなただけに教えます。
■今なら期間限定割引!即金パックの販売代理店権利つき!
http://pcbiz-j.com/business/blt.html
きちんとした通信販売ビジネスです。
▼販売用のホームページを無料で支給します。
▼決していかがわしいマネーゲームなどではありません。
▼作業は1日にわずか数十分。(メール処理、通帳記帳など)
▼こっそり儲けたい人には、別名義での開業オプションもあります(資料メール参照)
http://pcbiz-j.com/business/blt.html
0366nobodyさん
04/05/14 14:09ID:???このMySQL拡張モジュールは、4.1.0以降のMySQLのバージョンでは動作しません。 これ以降については、MySQLiを使用して 下さい。
0367363
04/05/14 15:04ID:RjPRbRx2すいません、どのMySQL拡張モジュールなんでしょうか?
0369366
04/05/14 15:25ID:???注意: mysqli拡張サポートはMySQL 4.1.2以上で動作するよう設計されています。 それ以前のバージョンについてはMySQL 拡張サポートのドキュメントをご覧ください。
MySQL4.1.1は仲間はずれのようだ。
おとなしくMySQL4.0にしておいたら
0370363
04/05/14 16:17ID:RjPRbRx2そうですか?
了解しました。
おとなしく4.0に落とします
0371363
04/05/14 16:18ID:RjPRbRx2失礼しました。
とてもためになりました。
ありがとうございました。
0372nobodyさん
04/05/14 19:59ID:???とりあえずそんな事は忘れて、
mysql -h localhost -u root -p
enter pass:空白
ってやると接続成功するね。ついでに
set password for root=password('newpassword');
ってやるとrootのパスを変えれるね。
このrootって要はユーザ名のデフォルト値みたいだけど、このrootっていうユーザ名はどこで変えられるんだろう。
1行目に書いたmyadminのユーザ名・パス値の設定は無関係みたいだし。
今grant構文で躓いてまつ。で、この辺りを知れば少しは理解も深まるかなと思いつつもう夜に・・・
一日やってgrantから抜け出せないのは悲しいから、応援を頼みに来ますた;
0373nobodyさん
04/05/14 20:04ID:T1nzoUOSserver, client は問題なくインストールできましたが
Maxはlibxxxがないとかでエラーになってしまいました。
トランザクションを使いたいんですけど、Maxをインストールしてないと
何か問題が起きますか?
0374nobodyさん
04/05/14 20:21ID:???複問い合わせとか複雑なselect構文の質問とかしてるのかと思ったら
インストール後のログインとか
rootのパスワードとか
grantとか・・・
つま、myadminは、ただの”設定ツール”
その時に求められる名前とパスワードのものは”myadmin”のもので
M y S Q L の ア カ ウ ン ト と は 一 切 関 係 あ り ま せ ん
あー、腹立つ
最低限の知識ってもんがあるだろが
0375nobodyさん
04/05/14 20:27ID:???0377nobodyさん
04/05/14 21:16ID:???MySQL4.1だと、Maxじゃなくてもトランザクションを
使えるデータストレージ、InnoDBはサポートしてるから
「トランザクションを使いたい」なら関係ない。
0378372
04/05/14 21:38ID:???の事詳しく説明してるとこ少ないね;たいていサイトの手順とおりやるとエラーだし。
それじゃ
0380372
04/05/14 23:04ID:???!!??
ACTIVEPERL使ってるので、ppmでDBIはインストールしましたでつ。DBIに一緒にDBDもくっついてきますた。
でもmysql.pmっていうのはなかったのでppm mysqlってやてみまつ。
0381372
04/05/14 23:40ID:???とりあえず、Data-Dumperを入れるの成功。Msql-Mysql-modulesを試みたら
Error installing package 'Msql-Mysql-modules': Read a PPD for 'Msql-Mysql-modules', but it is not intended for this build of Perl (MSWin32-x86-multi-thread)
パッケージ「Msql-Mysqlモジュール」をインストールするエラー:「Msql-Mysqlモジュールs」のためにPPDを読む、しかし、それはPerl(MSWin32-x86マルチスレッド)のこの構造のために意図されません。
ってエラー。もしかしてMsql-Mysql-modulesっていうモジュールはppmからじゃインストールできないのかな。
ppm install Msql-Mysql-modules じゃなくてちゃんとコンパイラ入れてやらなきゃだめぽ?
0382nobodyさん
04/05/14 23:45ID:???0384372
04/05/15 00:00ID:???>>379
どうやらDBD-mysqlでもいいとのことで、そっちはppmでインストールできました。
みなさんごめんなさい
0386nobodyさん
04/05/19 12:33ID:???0388nobodyさん
04/05/19 22:34ID:???0390nobodyさん
04/05/20 00:05ID:???そしてそこにはMySQLスレもあって…
といちいち説明せんと理解もできんのか
http://pc5.2ch.net/test/read.cgi/db/1079502373/l50
0392nobodyさん
04/05/20 02:17ID:???板違いとか言う奴は今後一切mysql_queryと書いたらイカン。コピペもダメ。辞書登録もダメ。
0394nobodyさん
04/05/20 13:53ID:???0395nobodyさん
04/05/24 09:31ID:dSsrxF7S例えば、成績テーブルがあり、カラムが2つ(生徒ID、得点)あるとします。
select 生徒ID,得点 from 成績テーブル order by 得点 DESC;
で得点順に並べられますが、生徒IDが「10」の生徒は何番目か?を知るということです。
結果をループさせて生徒IDを見ればできるのですが、これくらいSQLでサクっと出せないか
と思いますが、どうでしょうか?
0397395
04/05/24 11:19ID:dSsrxF7S1回では無理みたいですね。
0398nobodyさん
04/05/24 21:55ID:???0399nobodyさん
04/05/24 22:03ID:???0400nobodyさん
04/05/24 22:03ID:???つまり2回してる、とこういうことが言いたいんだろう
0401nobodyさん
04/05/24 22:12ID:???副問い合わせを使わない方法を聞きたい、って話じゃないの?
0402395
04/05/25 10:39ID:xFzsgML90403nobodyさん
04/05/25 15:29ID:???マニュアルに古いMySQLでの副問い合わせの置き換え
のTipsがまとまってるし、他のサイトでも情報はあるので
他のDBMSの思考のまま「副問い合わせが無い」ってだけで
考えが停止しなけりゃ、大概のものは何とかなる。
データベース設計も考慮せにゃならんこともあるので
単純に移行つうケースでは難しい局面もあるけど。
0404nobodyさん
04/05/26 18:28ID:tBH3RGFOPHPからMySQLのデータをselect文で抽出しようとしているのですが、
データの最後から任意の数を昇順で収得することはできるのでしょうか?
WHERE sample=1 ORDER BYsample_id DESC LIMIT 0, 5
こういう感じでやってみましたが、これだと降順になってしまいます。
DESCを入れないと最初からの5件になってしまう・・・
今は仕方なく後でarray_reverse()でひっくり返してるんですが
抽出段階で希望の順番になってくれると処理を簡略化できるのにと思っています。
以上よろしくお願いします。
0405nobodyさん
04/05/26 18:58ID:???0406nobodyさん
04/05/27 11:39ID:uyBl2d4sDESC を入れなくて昇順にならないのはおかしいですね。
sample_id は数字ではなくて文字ですか?
>>405
order by のデフォルトはASCでは?
0407nobodyさん
04/05/27 13:49ID:???最初すげー初歩的な質問かと思ったけど、よくよく見ると
結構難しいなそれ
>>406
DESCを入れないと(昇順で)最初からの5件って言ってると思われ
0408nobodyさん
04/05/27 14:01ID:???SELECT * FROM table ORDER BY sample_id ASC LIMIT count(*)-5, 5;
みたいなことがやりたいんでしょ?(できないけど)
俺には泥くさい方法しか思い浮ばんorz
0409407
04/05/27 14:04ID:???とりあえずプログラム初心者の俺が即興で考え付いたのは、
SELECT COUNT(*)で取得した全レコード数を、PHPで変数$hogeにセット
↓
$hoge -= 5
↓
WHERE sample=1 ORDER BY sample_id LIMIT " . $hoge . ", 5
でどうだろう
0411404
04/05/27 16:51ID:MHGXoj5w>>406
実際作ろうとしているものはsample_idの部分は時間です。
10桁の数字でデータベースに格納されてます。
>>407-408
やっぱり前処理か後処理が別途必要になるわけですね。
参考になりました。ありがとうございます。
作りたいものを具体的に書くと、この2chのレス表示みたいなことがさせたいんです。
板トップだと各スレッドは1さんの後に、最新投稿が時間の古い順に10件表示されてます。
このレス部分を抽出段階でこの順番で収得するにはどうすれば良いんだろ?と
いろいろ考えてました。
0412nobodyさん
04/05/28 09:40ID:yz9ImxWfコマンドプロンプトから外部SQLファイルを読み込ませようとしているんですが、
うまくいきません。
mysql> use test
Databese changed
mysql> test < tmp.sql
ERROR 1064: You have an error in your SQL syntax near 'test < tmp.sql' at line 1
になってしまうんです。SQL分はネットのサンプルからコピーしたもので
間違い個所等はないように思えるんですがアドバイスお願いします。
0414nobodyさん
04/05/28 13:15ID:???0415nobodyさん
04/05/28 13:18ID:6cZBVmMM外部ファイルの実行は
mysql>\. filename
じゃねーの。
0416412
04/05/28 20:47ID:???\. filename 又は source filename
でできました。
0417nobodyさん
04/05/31 21:52ID:???次のようなテーブルがあります。
・table_program
-----
ID
番組名
番組名かな
-----
・table_song
-----
ID
table_programID
曲名
曲名かな
-----
「曲名」で検索して、検索結果には「曲名」と「番組名」を表示したいのですが、
どのようなSQL文になるのでしょうか?
無理ではないと思いたい のですが。
よろしくお願いします。
0418nobodyさん
04/05/31 22:45ID:???0419nobodyさん
04/06/01 08:31ID:???SELECT s.曲名,p.番組名 FROM table_song AS s LEFT JOIN table_program AS p ON s.table_programID=p.ID WHERE s.曲名='ちんこ音頭';
0420nobodyさん
04/06/01 18:37ID:???ありがとうございました。
>>418
買ってみたのですが、どうも分かりづらくて・・・
で、mysql.comのマニュアルを見てたのですが、あまりにも多すぎて・・・
>>419から逆引きで調べてみます。
/* 週末には本屋に行って来ます。 */
0421nobodyさん
04/06/01 20:00ID:???WinMysqlAdmin.exe を実行すると、
ダイナミック リンク ライブラリ LIBMYSQL.dll が指定されたパスC:\mysql\bin;;C:\WINNT\system32;C:\WINNT\system;C:\WINNT;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem に見つかりませんでした。
というエラーメッセージが出ます。
\bin フォルダにはもちろん LIBMYSQL.dll は見当たらないし、\WINNT フォルダの中にも My.ini がありません。
LIBMYSQL.dll は全部で2つ見つかりました。
WinMysqlAdmin.exe を実行するには、および、不足しているファイルを補うにはどうしたらよいでしょうか?
0422nobodyさん
04/06/01 20:28ID:???C:\mysql\binにlibmysql.dllがないのが、なんとなくおかしい。
# MySQL4.0.18のレイアウトから4.0.20aで変わってるのかも知れんが。
MySQLのサービスを停止してから、MySQLをアンインストールして
再度インストールしてみれ。
0424421
04/06/01 20:54ID:???>C:\mysql\binにlibmysql.dllがないのが、なんとなくおかしい。
そうですよね。
起動そのものができてないです。
アンインストールして再インストールしてみました。
やはり同じだ…。
ダウンロードしなおしてやってみてもダメでした。
0425549
04/06/01 21:44ID:???なんと無かったですか!
こういうことってよくあるんでしょうか。
4.0.17 とか 4.0.18 あたりを入れたいんですが、
ダウンロードできるページが探しても見つからない。
本のCD-ROMとか使うしかないだろうか。
0426nobodyさん
04/06/01 22:30ID:HgyXjo5Hどうぞ
http://downloads.mysql.com/archives.php?p=mysql-4.0&o=-win
0428421
04/06/02 00:33ID:???0429nobodyさん
04/06/02 15:16ID:???今は、win98に入れてます。それでサーバを起動させてmysqlとプロンプトに入力すると、
接続ができ中のものがなんでも見れちゃいます。
勉強したいのはそうゆう基本部分で、例えば普通レンタルサバではshellとかでサバにインスコしてある
mysqlにつなげられますよね。でも、mysqlと打っても当たり前だけど、接続ができない。自分がもらってる
ユーザ名とかでなきゃ。
大元のルート権限・パスワードとかを変えるにはどうすれば。とかが知りたいです。簡単に言うと
自分のwin98に入れてあるmysqlにプロンプトからmysqlとユーザ名・パスワードをなしでやっても
接続できないようにしたいんです。
接続後のことはmysqlマニュアルとかにも書いてあるので、いいのですが、基本の基本がどこに書いてあるか
わからないので、どこのサイトに行けとか、mysqlマニュアルのこのページを読めとか教えて下さい。
低レベルなし津文ですみませんがどなたかお願いします。
0430nobodyさん
04/06/02 15:28ID:???>今は、win98に入れてます。それでサーバを起動させてmysqlとプロンプトに入力すると、
>接続ができ中のものがなんでも見れちゃいます。
確かあれだろ。mysqlって打って接続できるのはwin(普通UNIX)のroot権限を持ってるやつだけだろ。
だからサバは普通mysqldをroot権限で行わないで、別のユーザを作って行わせる。
なんか違うな・・・
mysqldで起動させたユーザだけがmysql(ユーザ名なし)で接続できるんじゃなかったっけ?
だからtelnetとかで、外部から接続してもそのユーザはmysqlを起動させたユーザじゃないから
与えられたユーザ名でしか接続できないと思う。
だから自分のパソに入れてあるなら、ユーザを二つ作ってaっていうユーザに起動させた後、bっていうユーザに
でログインするとmysql(ユーザ名なし)では接続できないんだったと思う。
間違ってるかもしれんから、先に謝る。ごめん。誰か補完してくれ。
0431nobodyさん
04/06/02 15:40ID:???これでrootしかアクセスできなくなる。
次にrootでユーザデータベースを作る。
GRANT 権限 ON ホスト名 データベース名 ユーザ名 IDENTIFIED パスワード みたいな感じ
俺も良く分からんからmysql grantとかで検索してくれ。
0432nobodyさん
04/06/02 15:51ID:???0433429
04/06/02 16:06ID:???こんなに一杯ありがとうございます!かなり嬉しいです。
>>430
今試してみました。aユーザに起動させてaユーザを一度ログアウトしてbユーザで戻ってこようと思ったら、
ログアウトした時にmysqlもダウンしてしまいました・・・
>>431
データベースをひとつ作ってそれを扱えるユーザ・パスワードを設定するGRANT構文はできるのですが、
>とりあえずWinのmysqlのrootにパスを設定する。
がわかりません。それは名無しで接続して、名無しにパスワードを設定するってことですか?
それとも
mysql -u root;
で接続してrootという名前のユーザのパスワードを設定するってことですか?
>>432
ユーザの削除?それをやらないと名無しでいつまでたっても接続ができてしまうということですね。
mysql ユーザの削除
でぐぐってみます。
0434nobodyさん
04/06/02 16:21ID:???基本部分の質問なら、ここで聞くよりも
こういうサイトとか読んで勉強した方が早い
ttp://www.rfs.jp/server/mysql/02/01.html
0435429
04/06/02 16:37ID:???ありがとうございます。今、mysqlっていうデータベースでユーザ情報を管理してるらしいので、
rootで入って、use mysql して
delete from user where host='localhost' and user='';
ってやってみたらQuery OK, 1 row affected (0.16 sec)と出たので、
やった!と思って一度quitして試しに名無しで接続できるかやってみました・・・
何故か名無しで接続できてしまいました。なんかが違うみたいです。
0436429
04/06/02 17:13ID:???delete from user where host='localhost' and user='';
ってデータベースmysql内のテーブルuserの中からフィールド名hostの値がlocalhostで
且つ、フィールド名userの値がnull?のレコードを削除するっていう命令ですよね。
今mysqladmin内のDatabaseってタブを見てみたら今まではmysqlとか元々あるデータベースの
情報があったんですが、全て消えてました・・・
もしかして、databaseを全て削除してしまったのかもしれません。インスコしなおししなきゃいけないですよね。
0437429
04/06/02 18:39ID:???use mysql;
select user from user;
で名無しがあること確認してから
delete from user where user='';
として、レコード2つ消したよっていう返事をもらいました。
select user from user;
で見たら確かに消えていてrootが二つ並んでるだけになりました。
その後一度mysqlをシャットダウンして再起動してみると、今度は信号が赤から青にかわらくなって
しまいました。
名無しユーザを消すと何故か次の起動でおかしくなるんですが、名無しユーザは消すべきでないのでしょうか?
でも普通のレンタルサーバとかなら名無しユーザなんて消していますよね。
とりあえずまた再インスコして今度は名無しユーザにパスワードでもつけてみようかと思います。
0438nobodyさん
04/06/02 19:01ID:???WebProg板の内容と離れてきたから
↓こっちでどうぞ
データベース
http://pc5.2ch.net/db/
0440nobodyさん
04/06/02 20:43ID:???>こういうことってよくあるんでしょうか。
パッケージングミスは良くあることではないが、
自分では良くやるな...バージョン管理してんのに
別の混ぜちゃったり。
libmySQL.dllはnoinstall版には入ってたよ。
トップのダウンロードページのWinの項はバージョンは4.0.18
だったりするので、Win版の4.0.20aはまだ微妙なのかもしんない。
一応レポ、出しとくけどね。
0441nobodyさん
04/06/02 20:52ID:???・クライアントコマンドmysqlの(OSの)実行ユーザ
・DBMSであるmysqldの(OSの)実行ユーザ
・MySQLデータベースのユーザ
は、ちゃんと区別して考えてくれ。
Webプログラムで利用するなら、区別の無いOS(Windows)
じゃなくて、普通に区別する環境で使うことが多いだろ。
0442421
04/06/03 09:27ID:???うーん、やっぱり人間のやってることなんだなぁ。
結局4.0.18をインストールしたんですが、dllの他にも結構足りないファイルがあるみたい。
4.0.20aと「a」がついてるのは、マイナーバージョンアップの更にマイナーなバージョンアップなんだろうか。
一応知らせたほうがいいのかなと思ったけど、レポートの出し方わかりませんでした。^^;
0443421
04/06/03 09:29ID:???4.0.18と比べてみると4.0.20aで足りないってことです。
0444nobodyさん
04/06/03 20:25ID:XU5SaHAnエンコードが間違っているのか文字化けを起こしてしまいます。
ブラウザ側でエンコードを変えて見てもDBから引っ張ってきた部分は文字化けしたままになります
これはMySQL側で設定を変えれば回避できるのでしょうか?
またその方法等を教えていただけませんでしょうか。よろしくお願いします
ちなみに
PHP Version 4.3.6
MySQL 4.0.14b
を使ってます
0445nobodyさん
04/06/03 20:45ID:???足りないファイルはレイアウトの変更もしくはパッケージングのミス。
例えばlibmysql.dllはlib/optに入っているが、パッケージされている
プログラムの中で/binにあることが前提でコンパイルされているものが
あるのでパッケージングミスと考えられる。
この辺はビルドの設定/ノンインストーラ/インストーラ版を比べてみて
調べるのが確実だが、ノンインストーラとインストーラ版では敢えて外したり、
入れたりしてるファイルもあるので、ファイルの有無でみるのではなく、
そのパッケージでエラーなどが出て整合性が取れなくなっている箇所があれば
その部分はパッケージミスと思うという感じで良いよ。
レポは日本語のバグレポからの吸い上げがどの程度進んでるかわからないので、
今のところは本家のバグレポートでpackingのカテゴリで出すのが良い。
その前に本家のMLでもチェックしとくべきだけど、まあそこは端折っても可。
0446nobodyさん
04/06/03 21:36ID:???http://dev.mysql.com/doc/mysql/ja/Charset-server.html
MySQL4.0.14だとマニュアルに記述されているキャラクタセットに
関する機能がすべてある訳ではないことには注意。
# 示したサーバ設定の部分は4.0.14でも同様。
0448421
04/06/04 10:59ID:???昨日バグレポートを見ていたら、4.0.20aに関する報告は2つあっていずれも同じエラーについてでした。
一つはロシア人の人(う〜んわーるどわいど)で、「足りないファイルは足してちょ」というような答えが返ってました。
もう一人の人は私と同じように「どうしたらいいんだ〜助けてくれ! ファイル梱包してないんとちゃうん!」と焦っていた。
ノンインストーラ版をビルドする腕もないのでどんなファイルが入っているか見てみたこともなかったですが、インストーラ版と中味は一緒だと思ってました。
まさかパッケージミスに遭遇するとは思わなかったですが、今後もエラーで見分けたいと思います。
0449nobodyさん
04/06/07 14:22ID:AVijgqxqorder by してlimitした結果を、さらにorder by で並び替えたい場合は
どうすればいいでしょうか。
「日付が最新のものから5件分のデータを日付が古い方から順に並べて取得」
みたいな感じです。
以下は現在のコーディングです。
select count(*) from table; でレコード数を取得しておいて、
select * from table
order by date
limit レコード数-5, 5;
これをSQL一発でやりたいです。
select * from table
order by date desc
limit 0, 5
orcer by date;
こんなことがやれれば最高なのですが、もちろんこれはエラーでした。
SQL文の結果の並び順をひっくり返す方法があればそれでもいいです。
0450nobodyさん
04/06/07 14:46ID:???select password( 'hoehoe' ) from dual ;
のようなことがやりたいのです。
0451450
04/06/07 15:07ID:???select password( 'hoehoe' ) ;
でできました><
0452nobodyさん
04/06/07 16:11ID:???select @target := id from table order by date desc limit 0, 5;
select * from table where @target <= id order by date limit 5;
0453nobodyさん
04/06/09 17:16ID:???信号のアイコンが出ないんですがこれは何が原因なのでしょうか?
phpdevを使ってインスコしました。XPでSQLはVer4です。
C:\phpdev\mysql\bin\mysql.exeで起動させてます。
0455nobodyさん
04/06/09 17:33ID:???そのファイル名も紹介サイトに書いてあったんですが
どこを探しても見当たらないんです。ちなみにphpdevは動作確認後4.30にうp済みです。
インスコ場所もデフォルトのままです。
よければどのフォルダにあるか教えてもらえませんか?
0456nobodyさん
04/06/09 17:49ID:???0457nobodyさん
04/06/09 18:01ID:???普通はmysqlのbinディレクトリだけど、phpdevは違うのかもね。
先ずは検索しる。なければパッケージされていないのでしょう。
まあ、タスクバーの信号アイコンなど無くても支障ないんで、
あきらめれば良いんじゃないか?
0458nobodyさん
04/06/09 19:50ID:???検索したんですが無かったので、パッケージされてないのだと思います。
>タスクバーの信号アイコンなど無くても支障ないんで
え!?あれが動いてる目安になってるものだと思ってました。
じゃあ安心ですね。これでようやく集中できます。ありがとん
0460nobodyさん
04/06/10 16:47ID:???っていうか、そんなにかかるものなの?
0461nobodyさん
04/06/10 17:33ID:???はっきりしろ
0463nobodyさん
04/06/11 23:13ID:ReUB/uB4MyAdminで、商品の金額が税抜きなのを
税込みの価格に一気に変更する方法を
知りたいです。お願いします。
0464nobodyさん
04/06/12 00:59ID:???0465nobodyさん
04/06/12 10:38ID:9j+7vS6ZUPDATE 金額テーブル SET price=price*1.05;
price が INTの時に小数以下がどうなるかはしらね。
0466ぺぷし
04/06/17 13:39ID:t9pcSu9tMySQLのデータベースのBLOBフィールドにバイナリデータとして格納してある複数の画像ファイル(JPEG)をPHPでブラウザに全て自動的に書き出すようにしたいのですが、
下記のようにDo Whileを使ってフィールドの全データを書き出そうとすると"Cannot modify header information- headers already sent by
output started ..."というエラーになり、画像ではなくバイナリデータのまま出力されてしまいます。
ちなみに、ループにいれず、クエリで抽出した単一の画像だけを出力する分にはこのようなエラーは出ず、画像を表示することができるので、
ループに入れることで、header情報のContent-typeの指定が繰り返されるのがいけないのだと思うのですが、試しにループの外に
header("Content-type: " . 'image/jpg'); の部分をおいてみるとファイルダウンロードダイアログボックスが開いてしまいます。
ループでの全データ書き出しはできないのでしょうか?
どなたかご存知の方、いらっしゃいましたらお助け下さい。
***********************************************************************
<table border="1">
<tr><td>ID</td><td>Image</td></tr>
<?php do { ?>
<tr><td><?php echo $row_rs1['id'] ; ?></td>
<td> <?php header("Content-type: " . 'image/jpg');
echo "<img src= {$row_rs1['image'] } >"; ?>
</td>
</tr>
<?php } while ($row_rs1 = mysql_fetch_assoc($rs1)); ?>
</table>
0467nobodyさん
04/06/17 14:36ID:???mysqlとは関係ない話ですが。
ブラウザ サーバ
--------- -------------
このファイルをよこせ---->
<----ほらやるぞ中身はtext/htmlだよ
htmlの中にimgタグがあるので
画像ファイルをよこせ ---->
<----ほらやるぞ中身はimage/jpegだ
htmlとjpegを一回の通信で同時には送れませんので。
0469nobodyさん
04/06/17 23:01ID:???0470nobodyさん
04/06/18 00:38ID:???------
<html><body><img src="pakera.php"></body></html>
pakera.php
------
<?php
//なんとかしてMySQLに接続してデータを取得
Header("Content-Type: image/jpg");
echo mysql_result($result,0,0);
?>
で、いかんかね?
0471ぺぷし
04/06/18 11:18ID:kLx9QR2S解説どうもありがとうございました。なるほどです。PHPをいきなりかぶりつきでやり始めたので、
基本が今ひとつわかっていない自分です。。。もう少し勉強します。
470さん
アドバイスどうもありがとうございました。ヒントを元に少しいじってみようと思います。
ところで今回のこのスクリプトは、サイズは小さいけれどかなりの数の画像を表示する
ウェブページで、例えば画像を追加するたびに、HTMLを書き換えなくても良いように、
画像をDBにアップロードしさえすれば、自動的に全画像がDBから書き出されるように
したいなーと思ってトライしているものです。
ただ、あまりに多くの画像をバイナリとしてDBに格納するのは、表示の際の速度とか
実際、どうなのでしょうか。
別の方法として、画像ファイル自体は別のディレクトリにアップロードするようにして、
そのファイル名とパスだけをDBに格納して、HTMLに出力するようにすることも
可能かと思うのですけど、どちらの方法の方が適しているでしょうか・・・?
0474nobodyさん
04/06/18 20:39ID:???それよりその画像格納専用ファイルにおいてあるファイルの一覧を取得して自動的に作成。
画像以外にタイトルとかそれ以外が欲しけりゃDBかXMLでも。
0475ぺぷし
04/06/19 23:37ID:M2Vk26m1レスどうもありがとうございました。
画像と一緒に文字列も書き出すようにしたいと考えているので、
後者の方法のほうがやはり無理がない気がしてきました。
ちなみにもう一つ質問させて下さい!
画像表示にかかる速度的にはどちらの方法のほうが速いと思われますか?
現時点ではDBを使わず、多量の画像をHTMLタグでハードコーディングして
全て書き出していますが、既に結構表示し終えるのに少し時間がかかって
いるのですが・・・
0476nobodyさん
04/06/20 13:50ID:???めんどくさいですよね。自動にしとかないと。
>既に結構表示し終えるのに少し時間がかかっているのですが・・・
速度だけで話すなら、サムネイル用画像でも用意した方がいい。
0477nobodyさん
04/06/20 15:36ID:BKvShsgW0478nobodyさん
04/06/20 16:43ID:???一回テストでDBに画像ぶち込んで一覧表示みたいなのを
作ったことあるけど展開する時にメモリ喰いまくりだし遅いし
パフォーマンスは凄く悪い
よっぽど専門的知識があってそれ用に
パフォーマンス最適化できる自信があるか、
どうしてもDBに格納しなきゃいけないって理由でもない限り
普通は画像はDBに入れない方がいいんじゃないかと
0479ぺぷし
04/06/22 12:33ID:F+BhnZqzレス、どうもありがとうございました。
478さん
やっぱり画像を直接DBに入れるのはイマイチっぽいですね。
パフォーマンスを最適化するような知恵はありそうもないので、
おとなしく画像を別ディレクトリに保存する方向で行こうと思います。
ありがとうございました!
0480nobodyさん
04/06/23 20:24ID:???PostgreSQL なら
SELECT to_char(EXTRACT('month', CURRENT_TIMESTAMP) - '1 day'::INTERVAL, 'YYYY-MM-DD');
でスコーンっと先月末日が出るんですけど、MySQLじゃどうするんですかいのぉ
バージョンが3台なもんでLAST_DAY(date)が使えないんです。
SELECT DATE_FORMAT(DATE_SUB(LAST_DAY(CURRENT_DATE()), INTERVAL 1 MONTH), '%Y-%m-%d') とかアウチ
もちろん
SELECT DATE_FORMAT(DATE_SUB(EXTRACT(MONTH FROM CURRENT_DATE()), INTERVAL 1 DAY), '%Y-%m-%d') はエラー
です。よろしく。
0481nobodyさん
04/06/23 21:18ID:???自己解決。お騒がせ。
SELECT DATE_SUB(CURRENT_DATE(), INTERVAL EXTRACT(DAY FROM CURRENT_DATE()) DAY)
すっきりせんが、どうにかなった。フロ入って嫁と一発やって寝るよ。
0482nobodyさん
04/06/24 04:41ID:???0483nobodyさん
04/06/27 16:33ID:dc5u0+Vm連結条件に「t1.id=t2.id」などを付けずに連結し、更に$whereを「t1.id=1」
ではなく「id=1」などで処理させる方法はないでしょうか?
SELECT * FROM t1,t2 WHERE $where
0485nobodyさん
04/06/28 11:34ID:???SELECT * FROM t1 CROSS JOIN t2 WHERE t1.id =1;
では成立するのですが、
SELECT * FROM t1 CROSS JOIN t2 WHERE id =1;
ではエラーになってしまいます。
テーブルを2個以上JOINする場合にWHEREを
「t1.id =1 || t2.id =1 || t3.id =1」と記述して行くしかないのでしょうか?
マニュアルには「同様に、JOIN と CROSS JOIN に関しても、MySQL 4.0.11 以降
でのみ条件を指定できます。」と書いており、4.0.11以降でなければ「id=1」という条件
では出来ないという事でしょうか?
0486nobodyさん
04/07/01 14:23ID:7y8AL+GJ総検索件数と、10件ずつ表示させたいのですが、
現在、2回クエリ使って結果を得ています、
1回には出来ないのでしょうか?
<現在>
select count(*) from hoge where flag=1;
select * from hoge where flag=1 limit $a,10;
このような感じでおこなっていたのですが、
レコードが1万件をこえてくると、結構時間がかかってしまいます。
なにか良い方法ありませんでしょうか?
0487486
04/07/01 16:08ID:???このような感じでおこなっていたのですが、
レコードが1万件をこえてくると、結構時間がかかってしまいます。
なにか良い方法ありませんでしょうか?
ん?
なんか変な質問してますね・・・。
すみません。
perlでCGIスクリプトを作成してます。
DBIでMysqlに接続していますが、
このモジュールのあたりで、先の質問のようなことを
行うことは出来ませんでしょうか?
質問するって、結構難しいですね。
0489nobodyさん
04/07/01 17:30ID:???一発で取ろうとするとlimit使えんねっつー話じゃね?
0490486
04/07/01 17:42ID:7y8AL+GJそうです。
そんな感じです。
なにか、いい方法ないのでしょうかね。
DBIモジュールのマニュアルをじっくり読んでなかったので、
今読んでみたりしてます。
0491nobodyさん
04/07/02 00:37ID:???http://dev.mysql.com/doc/mysql/ja/Miscellaneous_functions.html
の FOUND_ROWS() を見れ。(以下触り)
> 状況によっては、LIMIT を指定しなかった場合にいくつの
> レコードが返されるかを、ステートメントを再度実行する
> ことなく確認したいことがある。このレコード数を確認する
> には SELECT ステートメントに SQL_CALC_FOUND_ROWS
> オプションを指定し、その後 FOUND_ROWS() を呼び出す。
> LIMIT なしで再度クエリを実行するより時間がかからない。
しかし、1万件程度で時間が掛かるってのも、DBのチューニング
や作りがおかしくね?
0492486
04/07/02 08:11ID:???おお〜〜〜〜〜〜〜。
> > オプションを指定し、その後 FOUND_ROWS() を呼び出す。
> > LIMIT なしで再度クエリを実行するより時間がかからない。
確認しました。スバラシイです。
FOUND_ROWS()の呼び出しは瞬時にかえってくる。
自分のもってるオライリーのl本って、かなりバージョン古いな・・・。
新しいの買うか、ボロボロやし。
> しかし、1万件程度で時間が掛かるってのも、DBのチューニング
> や作りがおかしくね?
1万件でなく10万件でした。失礼。しかもさらに増えるし・・・。
likeとかで検索かけると、大変なことに。
チューニングもさらにシビアになりますね。
なにはともあれ、有難う御座いました〜。
491様に感謝!
0493nobodyさん
04/07/02 16:48ID:???知らなかったよ「FOUND_ROWS()」
しかし「MySQL バージョン 4.0.0 以降で使用できる」。
また旧版と新版で2パターン必要なのか...
0494nobodyさん
04/07/09 11:51ID:+WklyQCB参考書を見ながらインストールしたのですが、
EnvironmentタブのMyODBCのところに
NotFound
Driver3.51Not Found
と出ています。これは、参考書ではDriver Version 〜というふうに
なっていました。
あと、Databasesタブには、testのみが表示されていて、
mysqlが表示されていません。show dababasesコマンドでもmysqlは
表示されません。C:\mysql\dataには、ちゃんとmysqlのフォルダはあります。
この場合、MySQLにmysqlを認識させるにはどのようにしたらいいのでしょうか?
上記のNotFoundエラーを解消すればいいのかな・・・と思うのですが、
どのようすればいいのか分かりません。
ご存知の方がいらっしゃいましたら、よろしくお願いいたします。
0495nobodyさん
04/07/09 15:38ID:???オラクルマスター銀って学生でも比較的簡単に取得可能でしょうか?
0497nobodyさん
04/07/09 17:20ID:???用語(名称)が正確でない。だから他人から
見ると意味がつかみづらい。
>EnvironmentタブのMyODBCのところに
>NotFound
>Driver3.51Not Found
これはMyODBCの状態だから、ODBC経由で接続を
行わないならそのままで構わない(正常)。必要であれば
ODBCドライバ(MyODBC)をインストールする。
>あと、Databasesタブには、testのみが表示されていて、
>mysqlが表示されていません。
恐らくWinMySQLadminで接続に使っているMySQLユーザが
データベースmysqlを参照できる権限がないものと思われる。
接続ユーザをrootに変えるか、GRANTで該当ユーザに権限を与える。
>>495
受験費用だけの問題。覚える"だけ"だから
むしろ若いうちの方が取りやすい。
あとベンダー資格なんぞ学生が持ってても
意味無いよ。無駄。会社入ってからで充分。
0498nobodyさん
04/07/09 18:33ID:???>意味無いよ。無駄。会社入ってからで充分。
いやそうでもないよ、
大企業は効果薄いかもしれないが
中小だと結構はったりが利くぞ
大企業無理で中小に入る可能性があるなら損は無い。
あとシスアドとか情報処理1種などもそれなりに効果あり。
0499名無しさん@そうだ選挙に行こう
04/07/11 12:16ID:xhyXSdhvサーバーへの負荷とイコールで考えて問題なっしんぐでしょうか??
ぐぐったけど、全く関連説明がデテコナインダス
0500名無しさん@そうだ選挙に行こう
04/07/11 17:05ID:???オーバヘッドと言ったら一般的には遅延やロスのこと。
負荷とは違う。
0501nobodyさん
04/07/11 21:06ID:???の場合、t1とt2のフィールド数及びフィールドタイプは同等
でなければならないのでしょうか?
t1の方のフィールドは$t2+3フィールドであります。
0502nobodyさん
04/07/11 22:03ID:???INSERTにSELECT・・・
0503501
04/07/12 07:39ID:???2行を1行で処理したいだけなんだけどなぁ
WHEREに全部書かないとダメかな
>>502
MySQLを使った事がありますか?
0504nobodyさん
04/07/12 10:11ID:???0505501
04/07/12 12:39ID:???INSERTにSELECTを使った、めちゃくちゃな構文ですが正常に処理されています
0506nobodyさん
04/07/12 13:08ID:???その上“正常に処理”って、ゴミプログラムをゴミ箱行きにしたとかいうオチか?
0509nobodyさん
04/07/12 21:19ID:???本当に夏だよな
0510nobodyさん
04/07/12 21:50ID:???0511nobodyさん
04/07/12 22:01ID:???0512nobodyさん
04/07/13 00:12ID:AIgAJnQbご返事、ありがとうございます。
また、読み辛い文章で大変申し訳ございませんでした。
本題に入らせて頂きます。
GRANTで権限を与えようと試みましたが、以下のエラーが出ます。
ERROR 1045: Access denied for user: '@localhost' (Using password: NO)
これはパスワードが違うということでしょうか?
OSへのログインの時やMySQLのmy.ini.Setupタブに書いてあるパスワードや
Administrator(←UserName) で試してみましたが、同じエラーが出ます。
原因等、ご存知の方がいらっしゃいましたら、ご教授の程、よろしくお願い致します。
0513nobodyさん
04/07/13 01:43ID:???>'@localhost'
ユーザが指定されてないように思われ。
もちっと前の、コンソールで入力した操作から書き出して味噌。
0514nobodyさん
04/07/14 20:43ID:CWlcyttGご返事、ありがとうございます。
自分のやった作業を全て以下に記します。
・MyODBC-standard-3.51.8-win.msiをインストール
→これは特に特別な作業がないので問題はないと思っています。
・mysql.exe で以下のコマンドを実行
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザ名@localhost
IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
→結果
ERROR 1045: Access denied for user: '@localhost' (Using password: NO)
ユーザ名とパスワードは以下に記したものをいろいろ組み合わせてやってみましたが
全て同じエラーになります。
●ユーザ名
・PCにログインするときの名前:Administrator
・my.ini Setupタブに書いてあるuser=xxxxxxxxx
●パスワード
・PCにログインするときのパス:xxxxxxxxx
・my.ini Setupタブに書いてあるpassword=xxxxxxxxx
何かお気づきの点があれば、よろしくお願い致します。
0515nobodyさん
04/07/15 01:16ID:???ふむ。Windowsでインストールしたばっかりの状態ということね。
とすると初期ユーザとして管理ユーザrootが、"パスワードなし"の状態で
セッティングされているので、新たにGRANT権を持つユーザを作るのであれば、
mysql.exeを次のように実行
コマンドプロンプト> mysql -uroot [ENTER] (rootをパスワード無しでログイン)
管理ユーザrootはGRANT権を持つユーザを設定できるので、
mysql> GRANT ALL ON *.* TO ユーザ名@localhost
IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
(ALLはALL PRIVILEGESの省略記法)
で、 WITH GRANTな新しい管理ユーザが設定できるはず。
次に、
mysql> EXIT
コマンドプロンプト> mysql -uユーザ名 -pパスワード [ENTER]
で新しい管理ユーザでログオンできるか確認。
またrootにはパスワードを設定しといた方が良いね。
0516nobodyさん
04/07/15 01:47ID:???MySQLのユーザは連動しません。mysql.exeなどのmysqlのツールを
使う際にMySQLユーザを指定しなかった場合、OSのユーザ名が代替として
指定されるます(Windowsだと普通'ODBC'というユーザだったと思う)が
ユーザの管理上は別のものになっています。
mysql.exeに対して、[Administrator]というユーザ名を指定した場合
MySQLでは登録されていないMySQLユーザと判断されて、匿名ユーザ
としてログオンしている状態だと思います。デフォルトインストール
で初期ユーザとして匿名ユーザの設定がなされています。
#最近のバージョンでは初期設定で匿名ユーザは削除されてた気もする。
それとmy.iniのuser/passwordですが、これは先のツールを使う際に
無指定だったときに代替で使われるものです。指定されているセクションで
例えば[WinMySQLadmin]であれば、その範囲のみの設定となります。
またuser/passwordの組ではなく単独で代替されるので、例えばユーザ名だけ
指定してパスワードは省略した場合などは注意が必要です。
基本的には[WinMySQLadmin]以外には指定しないのが良いです。
# WinMySQLadminはメニュー上でログオンユーザの切り替えが出来ないので。
0517nobodyさん
04/07/15 22:03ID:rmg2BJyiいつもありがとうございます。
すいません、いきなりつまづいてしまいました。
最初のコマンド「mysql> mysql -uroot;[enter]」を行うと以下のエラーが発生します。
ERROR 1064: You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right sytax to use near
'mysql -uroot' at line 1
他のところを探してみましたが、どうもよく分かりません・・・。
すいません。。。
0518nobodyさん
04/07/16 00:24ID:???「 mysql -uroot [ENTER]」はOSのコマンドプロンプトで行う。
故に;(セミコロン)は不要。mysql.exeにパスが通ってる
ディレクトリで入力。
OSのコマンドプロンプトは>>155 の文中では「コマンドプロンプト」、
MySQLのプロンプトは「mysql>」と書いてます。
0520nobodyさん
04/07/16 23:43ID:Nh7Z2qfwとりあえずapacheとperlは完了したので、mysqlを入れようと思いますが、
久しぶりなのでダウンロードするファイルに疑問が。
win用のmysql4.0.18を使いたいのですが、ZIP形式のものが3つありました。
1.mysql-4.0.18-win.zip
2.mysql-4.0.18-win-noinstall.zip
3.mysql-4.0.18-win-src.zip
とりあえずインストーラなしの2ではないんですが、1と3の違いがわかりません。
どんな違いがあるのでしょうか?
0521nobodyさん
04/07/17 00:54ID:???ソースコードだ
というか、なぜ全部解凍して調べようとしない?
0522522
04/07/17 02:19ID:RBk3Iaoiじゃあインストールはできないんですか?というか自分でコンパイルするってこと?
見てみます。
0523nobodyさん
04/07/17 02:27ID:???まあ解凍してわかっただろうな。
0524522
04/07/17 02:47ID:RBk3Iaoi私みたいなバカは黙って1をインスコすることにしました。
0525nobodyさん
04/07/20 11:22ID:???MySQLの違いや、MySQLの利点を教えて
0529nobodyさん
04/07/21 16:43ID:???探す気0かよ
おそらく、厨2かなぁ?
0530sage
04/07/21 23:09ID:???0532nobodyさん
04/07/22 01:40ID:BlXlQybJストアドプロシージャでWHERE句の条件を2つ指定しているのですが、
条件1(Name)しか合っていないのにレコードが返ってきてしまいます。
一方条件2(Password)が合っていて、名前が違うときはレコードの
カウントは0で正しく動作します。なぜだかわからず困っています。
どなたかご指導お願いいたします。
あと、ワイルドカード%を使用した条件指定もわかる方いたらお願いします。
CREATE PROCEDURE proctest
(IN Username char(20) ,In Pass char(10) ,Out Result int)
BEGIN
SELECT count(*)as count FROM personal where Name like Username AND Password like Pass;
SELECT count, case
when count=1 then 1
else -100
end Result;
END
0534532
04/07/22 10:30ID:u/8YGDyZ自分の聞きたいのはストアドプロシージャ内での使用方なんですが。
例えば
SELECT count(*) FROM personal where Name like Username'%' ;
にするとシンタックスエラーになりますし、
SELECT count(*) FROM personal where Name like 'Username%' ;
とすると文字列"Username%"そのものが検索キーワードになってしまうのです。
0535nobodyさん
04/07/22 14:34ID:???0536nobodyさん
04/07/22 15:04ID:???どう見ても釣りだよなぁ。
delimiter $
create procedure proctest (
in Username char(20),
in Pass char(10),
out Result int
)
begin
select count(*) into Result
from personal
where `Name` like Username and `Password` like Pass;
if Result = '1' then
select 1;
else
select -100;
end if;
end
$
call proctest('name1', 'pass1', @Result);
0537532
04/07/24 02:53ID:OJZpo2Keうまくいきました!本当にありがとうございました。
Mysqlのストアドプロシージャについて参考になるようなサイトってありますか?
>>533 ,535
いろいろと検索をかけてみてはいるんですが、適したサイトがみつかりません。。
もしよければ教えてもらえませんか?
質問ばかりですいません。宜しくお願いします。
0538536
04/07/24 20:38ID:???http://www.limy.org/program/db/mysql_tips1.html
0539nobodyさん
04/08/01 02:07ID:nV30chx5autoincrementのidを取得するいい方法はないでしょうか?
ユニークと思われるカラムがあれば、それで検索出来るのですが
ない場合はどうすればいいでしょう?
0540nobodyさん
04/08/01 20:25ID:???http://dev.mysql.com/doc/mysql/ja/Miscellaneous_functions.html
0541nobodyさん
04/08/02 09:13ID:???LAST_INSERT_IDですね。
こんな簡便な方法があるとは知りませんでした。
ありがとうございました。
0542nobodyさん
04/08/06 16:35ID:sKXbLEqO一レコードに、,などで区切ってつっこむか、
レコードを個々で別にして、順番を入れたカラムを作るか、
どっちがいいでしょうか?
順番カラムを作ると、そのぶんデータが無駄な気もするし、
かといって,で接続して格納するのも、DBらしくない気がします。
あるいはもっといい解決法があれば教えてください。
0544542
04/08/06 21:52ID:???0545nobodyさん
04/08/06 22:39ID:???0546nobodyさん
04/08/08 22:14ID:???0547nobodyさん
04/08/10 13:47ID:???かけちがいか、データが飛んでしまったよ。
何もしないほうが安定してたんですが・・・。
0548nobodyさん
04/08/10 13:48ID:???3,2
0550nobodyさん
04/08/10 15:07ID:oBY5B1dB0552nobodyさん
04/08/10 16:59ID:???データ操作していたのですが、
昨日から突然接続できなくなりました。
Can't Connect 〜〜 (10060) と出ます。
原因は何なのでしょうか。ご存知の方がおられればお願いします
0553nobodyさん
04/08/10 19:18ID:Wtg2rx9fサーバーのrootパスワードはもっているのですが、
どうすればデータベースを新規に作成できるのでしょうか?
どなたかお教えください、。おねがいします。
0554nobodyさん
04/08/10 20:41ID:5nTlbA9Nレンタル屋に聞け馬鹿
>>553
http://www.google.co.jp/search?hl=ja&ie=UTF-8&q=mysql+%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89+%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88&lr=
0555nobodyさん
04/08/11 10:50ID:???ロリポなら障害が有ったみたいだが違うか?
0556nobodyさん
04/08/21 16:00ID:kIitMI6tでnumをソートして表示しようとすると
100
110
90
80
という風な並びになってしまうのですが
80
90
100
110
とソートするにはどう記述すればいいのでしょうか?
0557556
04/08/21 16:01ID:???100
110
80
90
と並んでしまうのを
80
90
100
110
と並べたいのです
0558nobodyさん
04/08/21 16:03ID:???0559556
04/08/21 16:06ID:???order by num ascでも同じ結果になっちゃうんです
order by num descだと
90
80
110
100
と並びます
0560556
04/08/21 16:09ID:kIitMI6t小数点付の数値が入っている場合があるんです
それも小数点以下1位までだったり2位までだったりします
ここが問題っぽいですよね。
101
110.3
81.25
95.4
この様に並んでしまうのを
81.25
95.4
101
110.3
と並べる方法は無いでしょうか?
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コマンドを使用するのに
特別な設定が必要なのでしょうか??
0661nobodyさん
04/10/18 18:58:41ID:???・(そのユーザに対して)パスが通ってない。
・コマンドツール類がサーバとは別パッケージで、それをインストールしてない。
本の記述通りのもの(同一バージョン/パッケージ)を、指示通り入れてるか確認
0662653
04/10/18 19:04:27ID:x7S7FTDOお返事ありがとうございます。
一番目のパスの設定は特にしていないです。
どのように設定するのでしょうか??
0663nobodyさん
04/10/18 19:09:33ID:???0664nobodyさん
04/10/18 19:42:22ID:???0665nobodyさん
04/10/18 21:56:32ID:x7S7FTDOコマンドたたいて入りました。
mysql> create database XXX;
ERROR 1044: Access denied for user: '@localhost' to database 'XXX'
これはどういう状態なのでしょうか??
0667nobodyさん
04/10/18 22:04:36ID:x7S7FTDO今度はrootで入ったら
mysql> create database XXX;
ERROR 1006: Can't create database 'XXX'. (errno: 13)
というエラーが発生してしまいました。
0668nobodyさん
04/10/18 23:08:50ID:???> ERROR 1006: Can't create database 'XXX'. (errno: 13)
errno 13はOSが出してるエラーで、EACCESS (Permission denied)。
MySQLではデータベースをディレクトリにマップするので、このエラーが出たということは
mysqldはデータディレクトリ内にサブディレクトリを作る権限がないということ。
データディレクトリのパーミッションを確認してみたら?
0669nobodyさん
04/10/18 23:36:36ID:x7S7FTDO回答が質問を呼ぶ形になって申し訳ないです。
mysqldとは一体なんなのでしょうか?
0670668
04/10/18 23:49:38ID:???おいおい…
mysqldはクエリを解釈してデータへアクセスしたりするデーモン(サーバ)で、常時稼動している。
mysqlコマンドを含むクライアントはこのデーモンに接続してクエリを発行し、結果を受け取る。
http://dev.mysql.com/doc/mysql/ja/Server-Side_Overview.html#IDX662
手元に書籍があるならまず載ってるから、ちゃんと読んでね。
0671nobodyさん
04/10/19 22:13:12ID:rQaAfL61やっぱりwindowsサーバはゴミだな
0674nobodyさん
04/10/20 11:09:05ID:???0675nobodyさん
04/10/20 14:53:55ID:???メールアドレスの重複を許さないテーブルを作成したいと思います。
メールアドレスをprimary keyとして指定すればいいのだと思うのですが、
255文字以上の文字列はprimary keyにできないのでしょうか。
RFC2821で許されるメールアドレスの最大長は64byte@255byteとのことで、
255文字を超えてしまいます。
ハッシュをprimary keyとすることもできるようなのですが、
SHA1やMD5などのハッシュを使うと非常にまれに異なるメールアドレスから
同一のハッシュが生成されてしまうのではないでしょうか。
どなたか知恵を貸していただけませんでしょうか。
0676nobodyさん
04/10/20 15:55:21ID:???バージョンがわからないのでなんともいえないけど
1. TEXT型とする(格納前にアプリケーション側で長さチェック)
CREATE TABLE mailaddr(addr TEXT NOT NULL, PRIMARY KEY(addr(320));
2. local-partとdomainに分けて複合キーとする
CREATE TABLE mailaddr(localpart CHAR(64) NOT NULL, domain CHAR(255) NOT NULL,
PRIMARY KEY(localpart, domain));
3. 最大キー長を変更してmysqldをコンパイルしなおす
4. 「このシステムはRFC821に従いました」と主張する、または255文字を超えるメールアドレス
は格納できない仕様だと主張する
0677675
04/10/20 15:56:42ID:???× CREATE TABLE mailaddr(addr TEXT NOT NULL, PRIMARY KEY(addr(320));
○ CREATE TABLE mailaddr(addr TEXT NOT NULL, PRIMARY KEY(addr(320)));
閉じ括弧が1つ抜けてた。
0678nobodyさん
04/10/20 17:05:19ID:???アプリ側で厳密チェックという作りではいかんのか?
SQLのユニークエラーでは弾けないけど。
0679675
04/10/20 17:26:25ID:???>>676
少なくとも手元の環境(debian stableとtestingの3.23.49と4.0.21)では1.が蹴られましたので、
3.が必要となると思われますが他のアプリケーションへの影響が怖いのと、
そもそもの255文字という制約が2.の解を採るべきだと示唆しているように思えますので、
今回は2.で行こうと思います。それでも手元では500byteまでみたいですが。
クライアントがいる場合は4.もアリですね。
>>678
Webアプリでページからメールアドレスを登録できるようなものを考えていて、新規エントリを
加える際にいきなりinsertして、それが成功したか否かで重複を検出しようと思っているのです。
今回は最大320文字なのでこれをインデックスに使っても効率の問題は出ないと思うのですが、
これが桁違いに大きいデータの場合はどうすればいいのでしょうね。
世の中的にはSHA1の衝突確率を0とみなしてハッシュのみをprimary keyとすることになっている
のでしょうか(データ自体の比較は行なわない)?
0680nobodyさん
04/10/20 19:29:01ID:???現実的にはドメイン部分はサブドメイン有りでも100文字あれば足りるので
255で切っても良いと思うけどね
可能性を考えたら切りないし現実的な対応も設計者のセンスだと思うよ。
おれなら255で切って、これで入力出来ないとか言う人は愉快犯として無視するね。
0681nobodyさん
04/10/20 21:48:24ID:5ZEjjEhOcmd.exeからc:\mysql\bin\mysqlにログインして「set globals ○○=××;」とすると
設定が変更されるんですが、マシンを再起動すると初期値に戻ってしまいます。
何度やってもそうなります。なぜなんでしょうか?
0682nobodyさん
04/10/20 22:54:23ID:???そういう作りになってるから。
正確には貴方が恐らく欲しいと思われる結果に対しての
操作の選択肢として間違ったものを選んでいるため。
0683nobodyさん
04/10/20 23:30:08ID:5ZEjjEhOどうしたらいいんでしょうか。お願いします、教えてください。
0684nobodyさん
04/10/21 02:53:07ID:???MySQL Manualページの左側にある「Search the MySQL manual」で
「SET GLOBAL」を検索すると答えが書いてあるページが見つかります。
MySQL Manual
http://dev.mysql.com/doc/mysql/ja/
5.5.6 SET 構文
http://dev.mysql.com/doc/mysql/ja/SET_OPTION.html
>GLOBAL を使用した場合、サーバの再起動が行われるまで
>オプションが記憶され、新規接続時も使用されます。
>オプションを永続的にする場合は、オプション設定ファイルに設定します。
>See section 4.1.2 `my.cnf' オプション設定ファイル。
4.1.2 `my.cnf' オプション設定ファイル
http://dev.mysql.com/doc/mysql/ja/Option_files.html
0686nobodyさん
04/10/21 13:25:01ID:a34sr5QL何か特別な設定が必要でしょうか?
0687nobodyさん
04/10/21 15:51:04ID:???0688nobodyさん
04/10/21 16:16:42ID:???0691nobodyさん
04/10/21 17:36:05ID:???それは auto_increment じゃなくて magical_increment じゃん www
create table T1 (
a int not null primary key auto_increment
);
select concat('a', lpad(a, 3, '0')) from T1;
0692nobodyさん
04/10/21 20:51:48ID:B+QZBvw9文字の最大長のみが違う二種類のデータがあるんですが、
テーブルを別にするべきか、
全部textにして一つのテーブルに入れちゃうべきか、悩んでいます。
あまり違わない気もするし…どうなんでしょう?
0693nobodyさん
04/10/21 20:54:16ID:???tinyint(11)ってどうちがうんでしょうか?
0694nobodyさん
04/10/21 23:40:50ID:???まずは正規化とかそういうのをちゃんと勉強して
まっとうなスキーマ設計ができるようになれ
負荷とか効率とかで悩むのはそれからでいい
0695nobodyさん
04/10/21 23:57:03ID:???64bit
=2^64
=18446744073709551616
つまり仮に1日に1億IDを消費しても、
184467440737日=505390248年もつ
この計算であってますか?
0698nobodyさん
04/10/22 20:45:08ID:???例えば2ちゃんねるみたいな大量アクセスがあり、頻繁に書き込みがある
スレッドと、そうではなく過疎化しているスレッドからなる掲示板があって、
1つのテーブルでユニークID、板ID、スレッドID、記事ID・・・のように
管理するとします。細かい話をしだすとキリが無いので、なんとなく一般的に
ベストなインデックスがついているとします。この場合、メモリ管理はどのへんの
設定を変えるとパフォーマンスに一番効果があるでしょうか?query_cache_sizeでしょうか?
ちなみにあくまでMYSQLの知識欲を満たしたいので、HTML化しろとかは無しで。
0699nobodyさん
04/10/22 21:29:33ID:???>細かい話をしだすとキリが無い
ここをちゃんと出してくれなきゃ、最適化なんて出来ないべさ。
特に掲示板の仕様(DB周辺)と掲示板の使われ方(アクセス)の割合とか。
ROMが多いなら、チューニングも変わってくるだろ。
0700698
04/10/22 21:52:08ID:???では書き込みをするユーザ1に対してROMが99人いるという前提にしてください。
また、いわゆる「祭り」状態はイレギュラーなので、条件から除外してもらってもかまいません。
もちろん、「祭り」込みでの提案も歓迎です。
0701nobodyさん
04/10/22 23:50:39ID:???まだまだ足りないが…
まあ、オーソドックスで正しいDB設計のBBSにおいて
書き手(UPDATE/INSERT)に対して、読み手(SELECT)が圧倒的に
多ければクエリキャッシュは充分にパフォーマンスアップに貢献する。
実際自分のところで早々にMySQL3からMySQL4に移行した理由のひとつ。
但し、アプリがキャッシュがきちんと働くクエリが組み立てられるつくりに
なっているか、その辺の見直しは必要。普通に作っても変なクエリは
投げてないと思うけど。読み出しカウンターを同一のテーブルに
入れてる目も当てられない作りにする香具師がいないとは、
昨今のレベルをみてると、言い切れないからね。
0702nobodyさん
04/10/23 01:04:29ID:fI1cafOMUnixのMySQLサーバから一覧情報を取得して、Excelに一覧表示を行い、
再度入力された条件から、MySQLサーバにデータの登録を行う処理を
考えております。
経験者の方おりましたら教えていただきたいのですが、Windowsから
Unixのデータベースに接続して処理を行うためには、クライアント側の
設定はODBCの設定でホストIPアドレスにUnixサーバのIPアドレスを指定
することで対応できるのでしょうか?
急きょ調査することになりまして、数少ない情報のなか、ご存知の方お
りましたら宜しくお願いします。
0703nobodyさん
04/10/23 02:29:49ID:???アプリ側がODBC APIを使って接続するなら、純正のMySQL用
ODBCドライバー - MyODBCについて調べてみてください。
0704nobodyさん
04/10/23 14:29:04ID:???>読み出しカウンターを同一のテーブルに
>入れてる目も当てられない作り
ここんとこ、もう少し詳しくお願いしたい。
ぶっちゃけるが、「読み出しカウンター」という言葉すら知らんかったので。
0706nobodyさん
04/10/23 19:41:23ID:???その記事が何回読まれたとか、そういう変化の激しいフィールドを
含めてたりしてないかということ。要するにテーブル内の値が
変化するとキャッシュが毎回無効になるでしょ。
もしそれが本当に必要なら別枠で保持して無いと駄目。
0708nobodyさん
04/10/24 01:08:51ID:AzGved6Lmin(hoge)で0は返さないように、あるいはmax(hoge)でnullを返さないようにするのはできますか?
0710nobodyさん
04/10/24 23:43:40ID:???0711nobodyさん
04/10/24 23:51:32ID:???それは無理です
>710
それも無理です
count()のdistinctみたいなのがmin()やmax()にもあるかと期待しただけなんです
0712nobodyさん
04/10/25 00:05:24ID:???他人と最低限の意思疎通ができる文章力をまず身につけることだな
何が「無理」なんだ?>>708の文章から相手に何が伝わると思うんだ?
0713nobodyさん
04/10/25 11:16:33ID:???0714nobodyさん
04/10/25 19:37:05ID:wXNHm+JOサービスが立ち上がらなくなってしまったので
MySQL4.0.20-bをアンインストールし、MySQL4.0.21を
4.0.20-bと同じC:\mysql\以下にインストールしなおしたところ
C:\mysql\data\の内容を読んでくれないのです。
my.iniには
datadir=C:/mysql/data
と記述されています。
どうしたら4.0.20-bのデータベースを読み込む事が出来るのでしょうか?
アドバイスをお願いいたします。
0715nobodyさん
04/10/25 21:51:57ID:L0lPqJ99今SQL文は勉強中なのですが…質問させてください。
環境は、PHP4.3.8 + MySQL 4.0.20です。
ゲームの結果を入出力、計算出来るシステムを作っています。
テーブルがT1とT2の2つあり、
T1には試合結果、T2にはメンバーデータが入っています。
T1テーブル(試合結果)には、主に4v4で行うゲームのため、
勝者ID1〜4、敗者ID1〜4という8個のカラムが含まれています。
また、T2テーブル(メンバーデータ)は、上記からご察しの通り、
1レコードが1プレイヤーのデータで、主キーとしてプレイヤーID(AUTO INCREMENT)があります。
このシステムを構築する上で、なるべくSQL側に処理をさせようと考え、
勝敗数などのカラムをプレイヤーデータには作っていません。
で、なんとかなるだろうとやっていたんですが、そこで行き詰まりました。
SELECT プレイヤーID,勝数,負数,(勝数*100/(勝+負))as勝率
FROM 両方のテーブル(T1,T2)
ORDER BY 勝数(負数や勝率等も)
みたいなことがしたいのですが、どうも分かりません。
サブクエリというのが使えればいけるかと思ったんですが、MySQL4.2からのようで。
INNER JOINなんかを使うのかな、なんて思ったんですが、
どうもテーブルの結合(?)というのが理解し辛く、壁にあたっております。
どなたか、模範解答なんぞを示してくださると助かります。
mysql ヘルプ!
0716715
04/10/25 21:56:02ID:???このシステムは、試合データは数百以上、
メンバーデータは50レコードに満たない程度のものです。
実は最初、T2テーブルのほうに、勝数や負数のカラムを配置して、
ログベースで処理していたんですが、
自分のスキルアップのために、上記のような形に挑戦しています。
この程度のものでしたら、前者と後者で、どちらの処理のほうが、
理想的なものなのか、助言も頂けると幸いです。
よろしくお願いします。
0717nobodyさん
04/10/25 23:37:40ID:9fphDW68以下のエラーで困ってます。
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)
MYSQLのページのエラーマニュアルを呼んだんですがさっぱりです
0718nobodyさん
04/10/26 09:05:19ID:???おいらはアンタがどういう環境でどういう状況(インストール直後なのか運用中で)に
そうなってるかが、その書き込みからだけだとさっぱりだよ。
0719nobodyさん
04/10/26 09:21:12ID:???> 勝者ID1〜4、敗者ID1〜4という8個のカラム
ここが少しひっかかる。主に4v4というけど、この対戦人数は変わったりするの?
勝敗の集計をプレイヤーIDごとに出したいんだったら、
プレイヤーマスタテーブル
プレイヤーID
氏名
他、詳細データ…
対戦組み合わせテーブル
組み合わせID
プレイヤーID
東西区分
勝敗テーブル
組み合わせID
勝敗(東or西)
勝敗を表わすのにどうしようか迷ったけど
相撲に倣って東/西と称してみた。
0720715
04/10/27 03:54:49ID:???お返事遅れて申し訳ないです。
ありがとうございます。
> 主に4v4というけど、この対戦人数は変わったりするの?
そうですね、可変です。
勝者ID1と敗者ID1というカラムが必須で、後はNULLが入る可能性もあります。
書いて頂いたテーブル構成での「組み合わせID」ですが、
現在、1試合(=対戦組み合わせテーブル1レコード)に、
こちらもAUTO INCREMENTでIDを振っていますんで、これでいけそうです。
頑張ってみます。
重ね重ねありがとうございました。
0721nobodyさん
04/10/27 09:54:33ID:fSBouGHv取得したデーターの何個目からfetchするとかできますかね?
今は、
1 while $sth->fetch and ++$count < $s_;
みたいに、fetchをから回し($s_がスタート地点)してるのですが、
スタート地点が大きい場合(ぶっちゃけ10000とか)があるので、
ちょっといやなんですが、、
0722nobodyさん
04/10/27 10:32:37ID:???0723721
04/10/27 10:32:53ID:???selectでオフセット指定できました。
似たようなDB作ろうとしてるんだけど、
例えば1選手の、1試合の成績を収めようとしたら
選手分だけのTableが必要になる?
選手200名を1人ずつTable管理するのは大変だよね
どうしてます?
MySQL4.1以上になると2次元扱いが可能になるらしいけど、
Installがミスって何故か弾かれる、、、
0726719
04/10/27 14:13:24ID:???プレイヤーマスタテーブル(プレイヤー1人あたり1レコード)
プレイヤーID
氏名、他、詳細データ…
試合マスタテーブル(試合1回あたり1レコード)
試合ID
勝利チーム(NULL or 紅 or 白)
開始年月日、試合場、他、詳細データ…
対戦組み合わせテーブル(試合×参加プレイヤー=1レコード)
試合ID
プレイヤーID
チーム区分(紅or白)
>>724
1選手1レコードのテーブルひとつで済むよ
0727719
04/10/27 14:17:02ID:???> 対戦組み合わせテーブル(試合×参加プレイヤー=1レコード)
っていうのは、8人参加の場合は1試合あたり8レコード
6人参加の試合が4回あったら24レコード
という意味です。
私が考えてるのは
例えば、
目的:野球140試合、全選手の成績を格納する
id、所属球団、選手名、生年月日等のDATA・・・と
各試合での成績(三振、ヒット)など
1打席目 2打席目 3打席目 4打席目 5打席目 ・・・・
1試合目 三振
2試合目
・・・
140試合目
0729719
04/10/27 15:30:57ID:???CREATE TABLE Player (
id int,
team int,
name varchar(100),
birth date
);
CREATE TABLE Team (
id int,
name varchar(100)
);
CREATE TABLE Score (
player int,
game int,
box_no int,
score varchar(10)
);
成績を表わすScoreテーブルは特定の試合の特定の打席を1レコードとして記録する。
1打席あたりの結果はどう表現するのか分らなかったので仮にvarchar(10)。
くだらない質問に答えてくれてありがとう
私の理解度が乏しいから、確認しますけど
選手 日時 何打席目か 成績
A 10/27 1 三振
B 1 ホームラン
C 1 アウト
A 2 ヒット
B 2 アウト
C 2
・・・
こんな感じでしょうか
0732nobodyさん
04/10/27 21:12:11ID:???まあ、テーブルの設計が終われば八割終わりみたいなもんだから
DBプログラミングは、ひたすらがんがれ。
0733nobodyさん
04/10/28 12:21:42ID:y89QF6ZeInnoDB形式のテーブルでレプリケーションが
狂ってしまった場合、復旧させる方法はありますか?
MyISAM形式では、テーブルのファイルコピーで無理やり整合性を
保っていたのですが、InnoDBでも可能でしょうか?
0734nobodyさん
04/10/28 20:53:44ID:???書籍やサイトがあれば教えてください。
自分では、
「実践MySQL4」に、
少し書かれているのは知っています。
0735nobodyさん
04/10/29 19:25:07ID:???最近のスラッシュドットでそんな話があったよ。
MLでも議論されてたから検索してみれば?
http://slashdot.jp/comments.pl?sid=219444&cid=0&pid=0&startat=&threshold=0&mode=nested&commentsort=0&op=%CA%D1%B9%B9
0736nobodyさん
04/10/30 12:57:52ID:Gk5lEdxU例えば、あなたの趣味は?
■パソコン ■アウトドア ■読書 ■ドライブ
■スポーツ ■映画鑑賞 〜〜〜
こんな感じで、複数の項目にチェックしてもらってpostした情報はどんな風に
データとして格納すれば良いのでしょうか?
それぞれのチェックボックスをフィールド一つを割り当てて1か0で・・・てのは
アホくさ杉でしょうし。
また、レコードを修正するときに、フォームで登録時にすでにチェックされていたもの
を自動的にチェックが入るようにするのもわかりません。
radioとかtextだったら読み込み直す方法はわかってるんですが。
リファレンスのどこらへんを読めばよいのかだけでもいいので教えて下さい。
0737nobodyさん
04/10/30 14:07:52ID:x49/edM7mysqlを打ち込むと
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)
またmysqladmin versionを打ち込むと
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
と表示されます。
指示の通りmysqlは稼働していますし、ソケットもディレクトリに存在しています。
最近変更した事と言えば
mysqlをインストールし直した(全く同じバージョンでアップグレード)のと
パスを通したことくらいです。
0739nobodyさん
04/10/30 15:04:11ID:x49/edM7ソケットファイルは0バイトのからファイルでいいんですよね?
今試したところ
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)
だったエラーメッセージが
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)
となりました。
また元のソケットに戻してみたところ
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)
に戻りました。
う゛〜ん。。。
0741nobodyさん
04/10/30 16:48:01ID:N1vJ8kvjMySQLで重複したレコードを一括して削除する構文を教えて下さい。
0742nobodyさん
04/10/30 16:54:27ID:???0743nobodyさん
04/10/30 17:08:00ID:???AもBも両方とも消していいなら割と簡単だが
Aだけ残してBだけ消したいということになるといろいろ面倒かもしれん
0744nobodyさん
04/10/30 17:49:34ID:x49/edM7ソケットファイルの権限はrwxともにOKです。
mysqldの権限の変更、およびソケットファイルとのマッチング
を整える方法がわからないです。
0745741
04/10/30 18:38:13ID:N1vJ8kvjそれです。
perl使ってるので、DBIのメソッドでも構いません。
0746nobodyさん
04/10/31 00:13:12ID:R5h305R8普通に扱えていれば全く問題なく扱えますか?
いつも叩いてるSQL文で問題なく作業できるのなら
導入しようかと思っている者です。
微妙な違いなんかは存在するんですかね?やはり。
0747nobodyさん
04/10/31 00:14:47ID:???SQLの基礎が出来てれば、
リファレンス引いて命令文引っ張ってくるだけだから、出来ると思うよ。
文法はほとんど一緒。
0748nobodyさん
04/10/31 00:30:38ID:R5h305R8リファレンスをちらっと見たら
USE DB みたいなコマンドがあって困惑したので。
0749748
04/10/31 01:38:56ID:R5h305R8このdatabaseってのはoracleでいうスキーマにあたるもので、
oracleだとログイン時にどのスキーマを使うか選択するが
MySQLでは最初にuseコマンドで明示的にどのDBを使うか
決定してからテーブルなどの操作を行う必要がある。
って理解は合ってます?
0750nobodyさん
04/10/31 03:24:35ID:H+tIg089一般的にはどうするのでしょうか?
自分としては単純に、
id,order,valueのカラムを作って、
データの削除や移動があった時には
orderを順番に書き換えていく、という方法を考えたのですが、
少し面倒な気がします。
もっと画期的な方法はありますか?
0751750
04/10/31 18:34:08ID:???ループで回してクエリ出しまくりかと思って躊躇してましたが、
この方針でいってみようと思います
0752nobodyさん
04/10/31 22:51:28ID:???dump して unix/linux上でuniqして元に戻す。
しょっちゅうこれをやんないといけない場合には、
データベース設計にそも問題がある。
0754nobodyさん
04/11/03 22:23:52ID:r8FwY29Xselect * from table
で行数を数えると、瞬時に答えが返ってくるはずなのですが、
スロークエリログに多数、このSQLが残っています。
どんな原因が考えられるでしょうか?
0755nobodyさん
04/11/03 22:32:14ID:???じゃなくて?
0756754
04/11/03 22:53:07ID:???mysql_num_rowsで数えていました。
countに直して様子を見てみます。ありがとうございました。
0757nobodyさん
04/11/06 14:53:52ID:???この問題なんですがコンパイルを通すにはどうしたらよいでしょう?
Win版じゃなくてLinuxでやりたいんですが...
0758nobodyさん
04/11/07 11:49:12ID:w/j/GLX70759nobodyさん
04/11/07 18:31:21ID:???自動でMySQLのログインから処理、ログアウトまでをやろうと思っているのですが、
mysql -u ユーザ名- p
の入力後に
Enter password:
が着ますよね?
ここでリダイレクトを使ってpassを読み込ませるにはどうしたらいいんでしょうか?
0760nobodyさん
04/11/07 19:18:28ID:???そんなことしなくても。。。
mysql -u ユーザ名 -pパスワード
でできるよ
0761759
04/11/07 20:08:04ID:???もう一つ…
上記をバッチファイルに書き込んで、その後
DB選択>既存のテーブルを削除>新しく作成>
別のテーブルからランダムソートしたものを新しく作ったテーブルに挿入>ログアウト
という流れをバッチファイル開くだけで行うためには、
use DB;
drop table TB;
create table TB(...);
insert into TB (select * from TB2 order by rand());
exit;
であってますでしょうか?
バッチファイルに書いても、mysql > で止まってしまいます。
0763nobodyさん
04/11/07 21:21:04ID:???やりたい処理は全部 hogehoge.sql に書く
0764757
04/11/09 12:09:30ID:lXsYUd1Sしかしmysql_configが指定するリンクをいれても
コンパイルがどうしても通らないです
/usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0xbc): In function `my_compress_alloc':: undefined reference to `compress'
/usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0x13a): In function `my_uncompress':: undefined reference to `uncompress'
collect2: ld はステータス 1 で終了しました
どういった原因でしょうか..
どうしてもvariableでのcharacter_setが
latin1から変わらない。
Windowsでmy.iniの[mysqld]に
default-character-set=ujisにしてるのに〜
文字化けするよ〜〜(´・ω・`)
0766nobodyさん
04/11/14 04:41:09ID:B/SXTDdiマシンの再起動時にはちゃんとmysqlをstopしてくれるんでしょうか?
参考にしたサイトにも
終了時スクリプトについては書かれていないのですが。
0767766
04/11/14 04:41:49ID:???でした
0768nobodyさん
04/11/18 12:02:05ID:???ドス上でみたら2行になってすごいみずらいです
一行でドスのサイズにあわせて表示するコマンドかなんかあるんでしょうか?
どなかたご存知のかたおしえてください。
0769nobodyさん
04/11/18 17:02:00ID:E/PAFSQfa001 -> a002 -> a003 みたいな増加の仕方はムリポですか?
0770nobodyさん
04/11/18 17:02:50ID:???ともに重複したデータは不可能なんですよね?
0771nobodyさん
04/11/18 18:00:50ID:???数字と文字列は別の扱いだから無理。
>>770
ユニークは重複を許可しないだけ、
プライマリは複数のフィールドを関連づけることが出来る。
ざっくり言うとこんな感じだけど言葉で説明するのは難しい。。。
本とかで勉強して色々実験してみれば何となく分かってくるはず。
0772nobodyさん
04/11/19 09:25:47ID:???MySQLはドス上で見ないほうがいいです
>>769
まったく同じ質問を前に見たぞ。>>686 だ。回答は >>691
0774nobodyさん
04/11/25 17:09:19ID:???mysql -H < select.sql > result.html
start result.html
としてブラウザから見る派。
0775nobodyさん
04/11/26 13:19:37ID:???0776nobodyさん
04/11/26 13:20:14ID:???0777nobodyさん
04/11/26 17:08:56ID:LVzAOA0n次の様な内容で"sample"という名のテーブルの複合キーを定義しました。
//---------------------------------------------------
create table sample (
A varchar,
B integer,
primary key(A, B)
);
//---------------------------------------------------
それでこの複合キーを変更(削除)したいので
"alter table sample drop primary key(A, B);"
を発行してみたのですがエラーになってしまいます。
どなたか正式な複合キーの削除方法を教えて頂けないでしょうか?
よろしくお願いします。
0778nobodyさん
04/11/26 17:26:59ID:???0779nobodyさん
04/11/26 18:01:24ID:LVzAOA0nエラー内容を貼り付けます。
alter table sample drop primary key(A, B);
→ERROR 1064: You have an error in your SQL syntax near '(A, B)' at line 1
またCREATE TABLEのSQL文も間違っていました。
正式なSQLは次の通りです(すみません) 。
create table sam(
A varchar(10) not null,
B int not null,
primary key(A, B)
);
よろしくお願いします。
0780nobodyさん
04/11/26 18:06:03ID:???0781nobodyさん
04/11/26 18:07:52ID:LVzAOA0ncreate tableのテーブル名は"sam"ではなく"sample"です(すみません...)。
かねやんでアドミン設定・新規ユーザー作っても
LOCK TABLES権限ないじゃんか!!!
1時間悩んだじゃないか〜〜ばかぁ〜
0784NAME IS NULL
04/11/27 12:24:15ID:???通常はデーモンを起動すれば大丈夫です。
% safe_mysqld &
0785nobodyさん
04/11/28 11:07:21ID:???この場合、「あるイニングでの先頭打者」を検索することは可能でしょうか?
不可能であれば、どのような情報を追加すればよいでしょうか?
先頭打者かどうかは、アウト数を別に作って3の次とするか
すればいいんじゃ?
成績とリンクさせるなら、三振→アウト数+1
セカンドゴロ→アウト数+1と1つずつ作っていけばいいんじゃ?
良く分からないけど。
0788nobodyさん
04/11/29 02:38:21ID:???まあ好きにやれや
0789nobodyさん
04/11/29 10:39:50ID:???0790nobodyさん
04/11/29 14:40:43ID:???コールドの時は…
代打、代走、リリーフ…
一打席に複数のバッターが出たら…
盗塁死、牽制死はどうする…
FC、エラー…
投球内容とかいらんのか…
ってな辺りを考えてからの話だろ、というか野球のルールの話だろ、これ…
0791nobodyさん
04/11/29 23:37:27ID:???「選手」「日時」と合わせてこれらが主キーになるのかな。
0793nobodyさん
04/11/30 23:28:06ID:IAxT8j7Aブーリアン値は
ENUMのYとNにするしかないのでしょうか?
0794nobodyさん
04/12/01 00:12:29ID:???0795nobodyさん
04/12/01 15:48:05ID:???中身はTYNYINT(1)だが
0797nobodyさん
04/12/06 10:53:00ID:???webページデータとDBも含めて、使用できるHDD容量をwebページ上に表示させたいんです。
0800nobodyさん
04/12/06 11:40:10ID:???0801nobodyさん
04/12/06 12:17:17ID:???0802797
04/12/06 13:10:54ID:???ありがとうございます。
0803nobodyさん
04/12/06 21:07:12ID:???日中などは大丈夫なのですが、夜になってアクセスが多くなると
DBの接続エラーが多発してしまいます。
$linkid = mysql_connect(host,name,pass);
if(!$linkid)
{
echo "MySQL接続失敗";
exit();
}
こんな感じので、接続失敗が多発します。
何を直せば接続エラーを無くすことができるのでしょうか?
0805nobodyさん
04/12/06 23:13:29ID:???・アクセス量を日中と同程度に抑える。
・もう少しコネクションに余裕のあるサーバ/サービスに移行する。
・自分の管理下にあるサーバならmysql定義ファイルのコネクション上限を見直す。
場合によってはマシンスペックを上げる
0806803
04/12/07 12:56:03ID:???レスありがとうございます
サーバースペックなんですが、
OS:win2003server
メモリ:1G
CPU:P4-2.4G
です。
レンタルですが専用サーバーを使っています。
SQLdは、自分なりに値だけ大きく変更してみてるんですが、
エラーは消えないんです。
table_cache = 10000
max_connections = 50000
max_user_connections = 20000
など…やり過ぎですかね…
PHPのプログラミング方法によってもエラーがでたりとかするんでしょうか?
0808nobodyさん
04/12/08 16:29:57ID:???何か制限などあるんでしょうか?
0810803
04/12/08 18:58:45ID:???そこを見ればいいのでしょうか…(すいません
0811803
04/12/08 19:00:30ID:???mysqldのエラーログというのは、
どこを見ればいいのでしょうか…
0812nobodyさん
04/12/09 15:32:33ID:fa9vd1ze起動するたびに立ち上がって染まします。
0815nobodyさん
04/12/20 07:25:09ID:FA8OSGsZPHPからMySQLへのアクセスができません。
エラーメッセージは
mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in
となっています。
環境
WindowsXP
PHP4.3
MySQL4.1.8
Apache1.3
文字コードはMySQL以外はShift-JISにしています。
MySQLはインストールしてrootのパスを決めた以外は変更していません。
コマンドラインからのroot権限でのアクセスはできています。
0816nobodyさん
04/12/20 09:31:17ID:???PHP4.3.9以前はMySQL4.0とMySQL4.1のライブラリが別になってるんだよ(4.3.10では一緒になったらしい)
libmysqli.dllをシステムディレクトリにコピー
0817nobodyさん
04/12/20 16:48:07ID:???http://dev.mysql.com/doc/mysql/ja/Password_hashing.html
に該当。
でもこういうところに気が付かない(読まない)人は、
質問が出た時点で、回答としては「暫くMySQL4.0.x使っとけ」
とするのが現時点では最も正しい答えなのかも。
MySQl4.1.x使うなら、常に情報の入手に気を配れ。
0819nobodyさん
05/01/01 08:13:01ID:QrQCkT/aコマンドラインで
select count(*) form bbs_table;
と実行するとちゃんと「11」という結果が返ってくるのですが
PHPでmysql_query($sql, $conn);と実行すると
なぜか「8」(Resource id #8)と返って来ます。
当然同じデータベース・同じテーブルでやっているのですがどうしてでしょうか?
0820nobodyさん
05/01/01 09:17:19ID:QrQCkT/a$result = mysql_query("select count(*) from bbs_table");
$row = mysql_fetch_row($resutl);
print($row[0]);で「11」と表示されました。
これで私の思っている通りの結果にはなりましたが
データベースのカラム数(掲示板で言うとレス数)を求めるには上記の処理で合っているでしょうか?
0821nobodyさん
05/01/01 16:41:48ID:???> なぜか「8」(Resource id #8)と返って来ます。
この8というのはリソースのIDのことだよって書いてあるのに
何で件数だと思ったのか、こっちが聞きたいくらいですから。
残念!
0822nobodyさん
05/01/02 17:22:22ID:MfYqAlNXPHPで使っているのですが、他のDBでも使えるようにif ( $a )の形式でチェックできるように
したいのですが、ENUM('true','false')だとチェック時にif( $a == 'true' )のように
文字列比較をしなくてはならないのでTINYINTで0か1が良いのかとか色々と考えています。
もちろんこれでやればできるのですが、経験豊富な方に伺いたいと思いましてどうかよろしくお願い致します
0825822
05/01/05 00:15:38ID:???ありがとうございましたm(__)m
0826nobodyさん
05/01/05 14:47:11ID:???java側からはMySQLに、UnicodeをShift-JISに変換して書き込めるのですが
MySQL側からデータをJava側に読み込むとShift-JISからUnicodeに変換
されずに、文字化けしてしまいます。
データを書き込めるのですが、それを読むと文字化けしてしまう状況です。
一応、JDBCドライバを呼び出す時は
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=sjis
&mysqlEncoding=sjis
とし、
my.iniにも
default-character-set=sjis
と記述しています。
それでも文字化けしてしまうのです。
無事に変換できて文字化けしないようにするにはどうすればよいのか
でどうか対処法を教えてくださいませ。
0827nobodyさん
05/01/08 07:40:40ID:???テーブルfreemailの中は空。
$mailにはフォームから登録したメールアドレスが入ってるとし、仮にaa@bbとします。
$str_mail=strstr("$mail","@");
$str2=mysql_escape_string($str_mail);
$rs=mysql_query("select * from freemail where freemail='$str2'");
$res=mysql_fetch_array($rs);
$f_res=$res['freemail'];
この状態で
$str_mail、$str、$f_resをそれぞれprint文で出力すると。
全部が同じ出力になる…この場合@bbになるとしたら、原因は何処にありますか?
これは判定だけで、テーブルfreemailに追加はしてないです。
0828nobodyさん
05/01/08 07:42:35ID:???print文で出力するのは
$str_mail
$str2
$f_res
です。
0829nobodyさん
05/01/08 12:23:13ID:???0830nobodyさん
05/01/15 00:33:23ID:NZnuK1eg直接PHPファイルに書くのに抵抗があります。
聞く話によるとMD5ハッシュ化したパスワードで接続することが出来るらしいのですが、
検索してもやり方がわかりませんでした。
どのようにすればMD5ハッシュ化したパスワードで接続できるのでしょうか。
0831nobodyさん
05/01/15 08:45:26ID:???ハッシュ化したパスワードで接続できるほうが危ないと思うんだけど。
ハッシュはサーバのどこかに保存されてるので見られる可能性がある
生パスはサーバには無いので絶対に見られない
0832nobodyさん
05/01/15 10:54:23ID:NZnuK1eg共用鯖でmod_php利用なのでアクセス権を604としなければならなく、
同じ鯖の人から見ようと思えばphpの内容が観覧できてしまいます。
なので、生パスワードをphpに記載するほうが怖いんですが・・・
0833nobodyさん
05/01/15 11:46:39ID:???生だろうがハッシュだろうが、スクリプトに記述してしまうならいっしょ。
mod_phpならsafe-modeの制限に頼るしかない。
0835nobodyさん
05/01/15 12:39:43ID:???照合する側がハッシュで照合してるならともかく
(MySQLサーバ側は確かにそうしてるが)
PHPのスクリプトでMySQLにアクセスする部分のパスワードを
どこぞに列挙するなら、それが生だろうがハッシュ化されてようが
普通にパスワードとして使えるのだから一緒でしょ。
列挙するパスワードをどこか他の認証と共用してるシステムなら
共用してる部分については「生パス抜けない」ということになるけど。
0836nobodyさん
05/01/15 21:33:17ID:???0837nobodyさん
05/01/16 01:46:09ID:???そうだね。
でも複合できるかどうかは関係ない、てことが分かってないようで・・
そんなに気になるなら CGI で 600 で動かせばいいじゃん。
0838nobodyさん
05/01/18 03:47:13ID:KC0Yllm6mysqlのBLOBにバイナリデータを入れる時は、
普通にmysql_escape_string()しておくだけで問題ないのでしょうか?
なんとなくおかしなクエリになってしまうケースがありそうで恐いのですが…
0839nobodyさん
05/01/18 11:58:44ID:4Eo/wmNT自動的に(人間がmysqlを立ち上げないで)データベースとその中のテーブルを作る手っ取り早い方法はどんなものでしょうか?
もちろんデータベース名、テーブル名とそのフィールドは固定です。
0841nobodyさん
05/01/19 21:46:19ID:JHcmHOhC単純に思いつくのは
・SELECTで値が入っているかどうかを調べる
入っていない場合 -> INSERT
入っている場合 -> UPDATE
のように2回クエリを送らなくてはならないため、もう少し良い方法があればと思いまして
ご存知の方がいらっしゃいましたらどうかよろしくお願い致します。
0842nobodyさん
05/01/19 21:56:32ID:???但し
内部的には
DELETE→INSERT
だからunique制約とかprimaryの制約がないとだめだけど。
0843842
05/01/19 22:00:53ID:???ありがとうございました
0844nobodyさん
05/01/21 11:23:46ID:Z6ezIjZ/bluequartz上でC/C++ CGIがどうしても動かせなくて困ってます。
gcc バージョン 3.3.2 20031022 (Red Hat Linux 3.3.2-1)
コンパイルしたファイル(xxx.cgi)はコマンドラインからはちゃんと動くのですが、
これをブラウザから見ると、 「 xxx.cgi このファイルをダウンロードしますか?」となります。
もちろんapacheはちゃんと動いています。
これを回避してブラウザから
xxx.cgiの出力を見るようにするにはどこを変更すればよいのでしょうか
0848ぐぐっても見つけられんかった
05/01/28 21:12:40ID:ox6Cyfvr考えられる原因は何でしょうか。。。
0850nobodyさん
05/01/28 22:12:48ID:???Error#1046,ER_NO_DB_ERROR,No Database Selected,データベースが選択されていません.
0851nobodyさん
05/01/29 12:52:05ID:???−−−環境−−−
OS:windows2000 Pro
DB:mysql 4.1
PHP:5.0.3 SJIS設定
MyAdmin:2.6.1
サーバー:IIS
DocRoot:D:\WEB
MyAdminの設定で Language を japanease に設定をすると
Fatal error: Call to undefined function PMA_reloadNavigation() in D:\WEB\CGI_BIN\phpMyAdmin\header.inc.php on line 132
のメッセージが表示されます
他の言語に設定するとエラーは発生しません
インクルードファイルの読み込み出来ていないのかと思ってファイルの最後に
echoを書いてチェックしてみると読み込みは出来ています
テーブルを追加する最にコメントに日本語が入っていると
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in D:\WEB\CGI_BIN\phpMyAdmin\libraries\string.lib.php on line 112
のエラーも表示されます
どのように設定したらいいか教えてください
都合で今はIISしか使えない状況です
0852nobodyさん
05/01/31 00:03:31ID:BLcpMt62"'() の文字を使ってるのを修正する場合、どうすればいいのでしょうか。
set password for root="'()('newpassword');
でできないっす
0853EK
05/01/31 00:04:33ID:pCNLnhtEmySQLで
| name | tel | email |
-----------------
| hoge | 090 | a@a.jp|
| moe | 090 | b@b.jp|
| are | 080 | c@c.jp|
.....
とかの構造を,
| tel | name | email |
-----------------
| 090 | hoge | a@a.jp|
| 090 | moe | b@b.jp|
| 080 | are | c@c.jp|
.....
に変更するにはどのようにすればいいのでしょう?
0855EK
05/01/31 08:49:37ID:abXFv+ha0857nobodyさん
05/02/01 06:06:35ID:Ous9jt79コマンドプロンプトから2バイト文字のデータを入れると文字化けします。
jspを使ってブラウザからsjisで入れたり出したりする分には
いまのところ正しくできてるっぽいのですが、
そのデータをコマンドプロンプトでみるとやはり文字化けしてます。
4.0を使ってるときはコマンドプロンプトで出し入れするのも
データを見るのも文字化けせず大丈夫だったんですが、
何がいけないのでしょうか?直す方法はありますでしょうか。
0858857
05/02/01 06:50:26ID:Ous9jt790860nobodyさん
05/02/01 08:56:41ID:???+--+--------+-----+
| id | name | price |
+--+--------+-----+
| 01 | hoge | 100 |
| 02 | fuga | 200 |
| 03| puni | 200 |
| 04 | hage | 100 |
……
ここで、価格:100(2件)〜200(2件)というように
最低価格、最高価格とその件数を導きたいのですが、
どのようなクエリをかけばよろしいでしょうか。
今はMAX()とMIN()で最大・最小値は求められるのですが
その件数が上手く求められないのです。
よろしくお願いいたします。
0862nobodyさん
05/02/01 15:17:47ID:???これを計算してみると 0.10 0.10 と2つ等しい結果が得られるのですが、
SELECT * FROM `table` WHERE ( bin(6) / bin(4) ) - ( FLOOR(bin(6) / bin(4) ) ) = ( bin(2) / bin(4) ) - ( FLOOR(bin(2) / bin(4) ) )
というふうにWHEREにした時だけ何故か等しくならず、テーブルの中身が全く表示されません。
これはSQLのバグでしょうか?それとも何か間違っているのでしょうか?
2進法計算で込み入っていて申し訳ないのですが、どなたかご存知でしたら教えて下さい。
0863857
05/02/01 17:25:28ID:Ous9jt79my.iniをsjis設定にしてもかわらず。
コマンドプロンプト立ち上げるたびに「set names sjis;」するしか
ないのでしょうか。
0864nobodyさん
05/02/01 19:40:16ID:???いや、それは面倒くさいやろ。
クライアントライブラリのエンコードを自分の欲しいものに
きちんと指定して再度コンパイルでOK。
0865nobodyさん
05/02/02 04:43:23ID:???そうですか。それはちょっと敷居が高い…
とりあえずブラウザから使う分には問題なさそうだから余裕ができたらチャレンジします。
ありがとうございました。
0866nobodyさん
05/02/02 05:05:35ID:TSxm2UhNchar(16)のカラムを作ろうとしてもvarchar(16)になりますが
何故でしょうか?
0868nobodyさん
05/02/04 00:22:56ID:FzOGXEjcphpmyadminをいれて、接続したら真っ白な表示がされるだけです。
どのあたりを見ればいいのでしょうか?
0870nobodyさん
05/02/04 00:35:52ID:FzOGXEjc0872質問です
05/02/11 01:47:17ID:bxpVru70もちろん、select文で表示はできるのですが、
show tables;
では見れないですよね?
そもそもメモリ上にあるテンポラリテーブルは見れない仕様なのでしょうか?
0873nobodyさん
05/02/18 01:17:47ID:oRUItyUuあるカラムをインクリメントして、その値を取得することは可能でしょうか?
0874sage
05/02/24 23:50:55ID:MSi8NK1Eロックの権限の確認方法はどうすればできますか?
0875nobodyさん
05/02/25 20:01:28ID:QqsT661L本日 RedHut9にMysql4.1.10をrpmでインストールしました。
現在STATUSを表示すると
Connection id: 15
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 4.1.10-Max-log
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: ujis
Client characterset: ujis
Conn. characterset: latin1
UNIX socket: /var/lib/mysql/mysql.sock
セグメンテーション違反です
となってしまします。
どうしたらいいのでしょう・・・
0876nobodyさん
05/02/25 23:04:54ID:???CGIでコマンド発行してみても受け付けて貰えなかったです。
PHPのMySQL関数には、ユーザー作成に関する物がないみたいですし。
宜しくお願いします
0877nobodyさん
05/02/25 23:12:53ID:???普通にmysqladminで発行できるが...マニュアル100回読んできな。
mysqlにユーザ作成コマンドをぶち込んでも同様にできると思うけど、
明確にadmin操作と一般操作は分けといた方が管理上は良い。
0878nobodyさん
05/02/25 23:26:47ID:???mysqladmin ユーザ追加のコマンドがありましたっけ?
マニュアル見てもその辺り載ってないんですが。
CGIやPHPでGrantコマンドを投げても実行されないんで困ってます。
0879nobodyさん
05/02/25 23:57:23ID:???サーバー管理者に聞くか、マニュアルを100回読むのがいいと思う。
接続に使用してるmysqlアカウントにgrant権限がないとかそういうことでしょ。
あと、マルチはどこへいっても嫌われるぞ。
0880nobodyさん
05/02/26 00:21:18ID:???ごめん、adduserコマンドは俺拡張(中身はGRANT)...
回線切っ首。
スクリプトからGRANT発行して駄目なのは、
adminのアカウントを使ってないためか、
GRANT権限に制限のあるmysqlユーザだとか、その辺では?
コマンドライン上で同じものを指定して試行してみれ。
0881nobodyさん
05/02/26 00:45:55ID:???ありがとうございます。
練習用として自宅サーバに入れたMySQL使ってますんで、
adminアカウントでやってます。
mysqlのコマンドライン上にてgrantするとちゃんとユーザが追加されるんですが、
phpのsystem関数でコマンド投げても受け付けて貰えません。
・・そもそもやり方が間違ってるような気もするのですが、
phpの関数にユーザ追加ってのが無いですし、どうしたものかと思いまして。
何か他のやり方があるのでしょうか?
0882nobodyさん
05/02/26 02:00:38ID:???なんとかしてそのエラーを見つけてきたまい
0883nobodyさん
05/02/26 03:38:26ID:???PHPからやるならMySQL関数でadminアカウントを指定し
GRANTのクエリを発行すれば良いです。
system関数で駄目なのは根本的にコマンドが通ってないと思われるので
もっと簡単なコマンドを発行してみて結果がどのように返ってるか
を確認しながら作業すべし。
0885nobodyさん
05/02/28 12:49:34ID:???パーミッションなどは引き継げなくても、テーブルの中身だけでもOKです。
0886nobodyさん
05/02/28 13:36:59ID:???MySQL→PostgreSQLでもそうだけど、dumpして流し込み。
ただ、どちらにせよ型のマッチや予約語あたりはちょこっと気にせんとね。
0887885
05/02/28 14:31:31ID:???PostgreSQLのdumpは、COPYというコマンドで値をセットしているのに対し、
MySQLのdumpは、INSERTコマンドを繰り返してセットしており、
COPYコマンドは受け付けてくれないみたいなのです。
0888nobodyさん
05/02/28 14:34:29ID:???ほんとにすいません。pg_dumpのオプションに、こんなのがありました。
-d, --inserts dump data as INSERT, rather than COPY, commands
-D, --column-inserts dump data as INSERT commands with column names
あとは手動でどうにかします。
0889nobodyさん
05/02/28 20:05:19ID:???php.ini において、magic_quotes_gcp = on にしていれば、
SQLインジェクションに対して安全でしょうか?
やはり
mysql_real_escape_string() とか mysql_escape_string() とか addslashes を
使うべきでしょうか?
0890nobodyさん
05/03/02 18:12:04ID:???FC3での日本語がutf-8なので、MySQLにutf-8で日本語を詰め込んでしまいました。
このMySQL上のデータベースを、MyODBC経由でMS-Windowsから操作したいのですが、
utf-8を正しく扱えるMyODBCドライバ、もしくは関連する情報をお持ちでしたら教えて頂けませんか?
0892nobodyさん
05/03/05 02:18:48ID:80ZPRUuI私は
where date like '2005-03%'
としていますが、これは妥当なのでしょうか?
0893nobodyさん
05/03/05 11:51:20ID:???0894nobodyさん
05/03/06 07:58:57ID:???エディタって何使ってますか?
もちろんコマンドから操作すれば不要なのは分かるんですが、
phpmyadminみたいに、sqlコマンドが色分けされる(デフォになくても
SQL用の強調表示ファイルが存在する)エディタがあれば良いなぁと。
0895890
05/03/10 18:17:59ID:???mysql4にすれば、SET CHARACTER SETでコードを設定できますね。
mysql4にあげてみることにします。
ありがとうございました。
0896nobodyさん
05/03/12 16:14:26ID:nH5XpFGK記録されていたデータを全部deleteしたにもかかわらず、
新しくデータを記録するとauto_inclementのint型フィールドの値が、
消す前の続きから始まってしまいます。
これは仕様ですか?
0897nobodyさん
05/03/12 16:23:53ID:nH5XpFGK適当にデータを入れ、Updateして無理やり1にしてみましたが、
更にまた新しくデータを追加してみると、2ではなく
消す前の値の続きからになってしまいます。
0898nobodyさん
05/03/12 16:50:21ID:???間違ってる。
last_insert_id()はコネクションごとにIDを保持するから、一度コネクションを
切ってから再接続してやってみたら1から始まるかもしれない。
0900nobodyさん
05/03/12 19:27:21ID:???PHP+MySQLで組んでます。
項目が多いのでクエリが長いんですよね・・・
で、ダラダラと横一列に書くのではなく、各カラム毎に改行して見やすくしたいのですが、
どうすれば良いのでしょうか?
__ ←を使うと良かったと思うのですが・・・
宜しくです。m(_ _)m
0902nobodyさん
05/03/15 02:06:06ID:???ああ、手遅れか。
ALTER TABLE table_name AUTO_INCREMENT=0;
>>898
とてつもなく勘違いしてるな。
0903nobodyさん
05/03/15 16:08:27ID:veLUi2ywでも検索をする時に各値が一意なものであることが分かっていれば、
一つ目の該当レコードを見つけた時点で検索を打ち切る事が出来て効率化するはず。
だから二つ以上のフィールドに一意である事を示したいのだけど、やり方がわからない。
もしかしたらフィールド作成時に明示しなくてもMySQLが勝手に判断してくれるのかも?
教えてください。
0904nobodyさん
05/03/15 16:26:07ID:???0905nobodyさん
05/03/15 20:58:58ID:???$sql = "SELECT * FROM Table "
."WHERE Field1=100 "
."AND Field2=200;";
0906nobodyさん
05/03/15 21:54:03ID:???えぇえぇっ!
俺普通に、
$sql = "SELECT * FROM Table
WHERE Field1=100
AND Field2=200";
って適度に改行して書いてるんだけど…
0907nobodyさん
05/03/15 22:05:17ID:???0908nobodyさん
05/03/15 22:05:48ID:???0909nobodyさん
05/03/15 22:06:16ID:???0911nobodyさん
05/03/15 22:47:33ID:???それ、連続した無用なスペースと改行が$sqlに入るけど
mysql_query()に渡す前にちゃんと処理してんの?
それともほったらかし?
0912nobodyさん
05/03/16 00:17:04ID:???参考書などで、よく、
$sql = ""; ←これ
$sql .= " SELECT * FROM table"
・・・
と見かけるんだけど、
この1行目はどういう意味があるんでしょうか。。。
0915nobodyさん
05/03/16 01:13:02ID:???前後のソースを見ないと何ともいえんが、変数になんか入れておかないと
エラーになる場合があるから、保険みたいなもんだ。
0919nobodyさん
05/03/16 10:43:33ID:???それもあるけど、""で初期化の意味合いが強いと思う。
$sqlなんてクエリ文字列用の変数として使いまわす可能性が
高いし、中に何か入ってるか判らないところに結合するのは怖い。
0920nobodyさん
05/03/16 10:46:46ID:???最初から「=」として代入しないのは、無駄といえば無駄だけどね。
0921nobodyさん
05/03/16 12:32:40ID:???で十分
0922nobodyさん
05/03/18 17:04:41ID:???$sql.=" select";
$sql.=" 名前 as name";
$sql.=" 年齢 as age";
$sql.=" from 個人情報";
$sql.=" where";
$sql.=" 店舗ID=".$t_id;
$sql.=" 性別=".$sex;
$sql.= ...........
最初のselectだけドットをつけないのを見逃すかもしれない
単純なselect一発なら大丈夫だと思うけどね
だからSQL文は全て .= にしてその代わり
$sql="";
を頭に置く
ちなみに漏れもよくやる
コピー&ペーストで楽ができるからね
0924nobodyさん
05/03/18 17:18:07ID:???0925nobodyさん
05/03/18 17:58:45ID:???それだとスペースと改行が入っちまうじゃん。
とはいえ長さが問題になるほどのクエリーになるとも限らんし、
クエリのサニタイズの処理で考慮しえあるなら、別にいいけどな。
0927nobodyさん
05/03/18 18:43:03ID:???書き間違えが多い文章になったが、最後の2行を読んで理解してくれ。
$sqlをその後どう使うかは判らん場合「無問題」とは言えないだろ。
0928nobodyさん
05/03/18 20:14:49ID:???美しさを無視する奴はプログラマ失格。
「いいじゃん、動けば」
0929nobodyさん
05/03/18 21:09:30ID:???0930nobodyさん
05/03/18 22:38:57ID:???0931nobodyさん
05/03/18 23:41:11ID:???0932nobodyさん
05/03/18 23:45:27ID:???0933nobodyさん
05/03/19 02:39:53ID:???0934nobodyさん
2005/03/23(水) 03:45:21ID:???0935PHP初心者
2005/03/24(木) 00:01:54ID:vk1AucmH1 | 山田 | 山手線 | 中央線
2 | 田中 | 埼京線 | 山手線
3 | 加藤 | 総武線 | 京王線
山手線を使用している人を表示したい場合など、
複数のフィールドからの検索は可能でしょうか?
rosen1から山手線を検索して表示する場合は、
select * from aiueo where rosen1 like '山手線'
とすれば山田さんが表示されるのですが、
rosen1とrosen2の両方から検索し、山田さんと田中さんを表示させることは可能でしょうか?
0937PHP初心者
2005/03/24(木) 17:13:57ID:aYVGSrBn「or」で上手くいきました!
0938nobodyさん
2005/03/25(金) 18:57:02ID:???このA、Bの組み合わせをユニークにすることはできますか?
現状、
1、SELECT の where a=A AND b=B で行数を取得。
2、1が0ならINSERT。
のようにしていますができたら1回だけでINSERTしたいのですが、、、
0939nobodyさん
2005/03/30(水) 11:51:00ID:???それってAとBの中身によるんじゃないの。
例えばAの3番目と5番目のレコードが同一でユニークになっていなくてそれ以外はユニークで、
Bも3番目と5番目のレコードが同一でユニークになっていなくてそれ以外はユニークな場合、
AとBを組み合わせた時3番目と5番目が同一のものになりユニークにならない。
でも例えばBが2番目と4番目のみが同一な場合はユニークになるけどね。
ただしAとBでおよそ被らないであろう全く異なるデータを扱っているという前提で、だが。
同一レコードが何番目にあるのかをABそれぞれで調べて被ってないかを調べればユニークになるかどうかは分かる。
0940nobodyさん
皇紀2665/04/01(金) 22:01:15ID:???0941nobodyさん
2005/04/02(土) 10:44:26ID:ftpZSEGbレコードが追加される時に
このプライマリキーを用いた降順あるいは昇順にソートして追加していきたいんだけど
mysqlにこれをやってくれる機能はありますか?
0942nobodyさん
2005/04/02(土) 13:06:49ID:???0943nobodyさん
2005/04/02(土) 20:10:05ID:???RDBのテーブルはINSERT時に格納順序を指定することはできない
順序はSELECTするときに指定するもの
0944nobodyさん
2005/04/05(火) 09:09:14ID:R5kNClWz検索条件に該当するレコードがprimary keyの特定の範囲内にしか存在する可能性が無いと分かっている時、
その範囲を検索条件で指定する事は出来ませんか?
検索回数の減少に繋がると思うのですが。
0945944
2005/04/05(火) 09:18:22ID:???単純にwhere primarykey > 下限 and primarykey < 上限とすると、
全てのレコードに対してこの条件に一致するかが比較されてしまいそうですが、
直接下限から上限の間のprimarykeyのみに絞って比較を行いたいという事です。
indexを作成しておけば2行目の条件式で4行目の処理をmysqlが自動的にやるんでしょうか。
0946nobodyさん
2005/04/05(火) 11:26:06ID:???縦がフィールド横がレコードと見た時の1マスに複数のデータを持たせて、
検索時に複数レコードがヒットした時に、被っているデータはまとめて出力したいのです。
レコード1のAフィールド{1,2,3,4,5}
レコード2のAフィールド{3,4,5,6,7}
とある時、レコード1と2がヒットしたらAフィールドの内容として{1,2,3,4,5,6,7}と出力したいという事です。
{1,2,3,4,5,3,4,5,6,7}と単純に内容をつなげて出力するのであれば、
各データをコンマで区切った文字列として入力してあるものを繋げて出力するだけで済みそうですが、
まとめて出力する方法が思いつきません。
これに相当するような処理でも構わないのですが何か方法はあるでしょうか?
0947nobodyさん
2005/04/05(火) 16:53:51ID:???整数型のカラムだったら単純に、インデックスを張る=効率的に検索してくれる
と考えてオーケー。
それよか SQL には between という指定方法もあることを覚えておいてほしい。
0948nobodyさん
2005/04/05(火) 17:02:09ID:???1マス…っていうか1カラムに複数のデータを突っこむのは
RDBの特長や性能を殺すようなものだからやめといたほうがいい。
その例だと本来は10レコードになるように表を設計する。
そうしておけば重複をまとめるのは distinct で一発でできる。
0949nobodyさん
2005/04/05(火) 17:29:54ID:???セパレータで結合する関数はあるが分割する関数は無い(と思う)から無理じゃね
PHPとかと組み合わせたら何でもできるけど
0950nobodyさん
2005/04/05(火) 19:45:52ID:???数値型だと符号なしbigintでも20桁しか使えない。(40桁くらいの数字を扱いたいのに・・・)
なんで?
文字型は数字以外の文字もカバーしてる分、余計にデータが長くなると思うのだけど。
たぶん数値型は内部では2進数で直接数量が表されてるよね?
もしそうだったら文字型よりだいぶ短そうなのに。
色んな演算を加える可能性があるから数値型は短いものしかダメなのだとしたら、
演算をしないけども数字ばかりのデータを扱う場合は文字列型が適してる?
0952nobodyさん
2005/04/06(水) 08:41:59ID:???「何で?」つうかデータベースは今も昔も
別に学術的な数値計算を行うシステムではないので。
データベースに限らず今のマイクロプロセッサの設計に置いてもね。
SQLでどうしてもやりたいなら、MySQLのユーザ関数に計算ライブラリを
組み込む手もあるが、データベースは単にデータを蓄積するものとして、
(ここはWebProg板だし、それっぽく)PHPのGMP関数で処理するのが良いんじゃね。
0953nobodyさん
2005/04/06(水) 09:43:35ID:???なんでという理由なら一般のCコンパイラの整数値が
long 型の、-9223372036854775808 〜 9223372036854775807 の範囲までしか扱えないから
でしょう
0954nobodyさん
2005/04/07(木) 12:34:57ID:M6scFfsmselect field from table1,table2,table3;
という記述ではemptyしか出ません。
このような記述では出来ないのでしょうか?
それと、mergeテーブルというものがあるようですが、MyISAMにしか対応していないようで、
トランザクションセーフで無ければならないので困っています。
0957nobodyさん
2005/04/09(土) 12:13:03ID:???レコードが追加される可能性のあるテーブルが一つで他は静的なテーブルであればやり方が分かるのですが、
全てのテーブルにレコード追加の可能性がある場合です。
0958nobodyさん
2005/04/10(日) 20:55:02ID:???と書いてみたのですがfield = field.stringのところでエラーが出ます。
field = field.'string'等も試したのですがダメでした。
文字列を追加するにはどう記述すれば良いのですか?
0961nobodyさん
2005/04/11(月) 15:04:52ID:AZghOiamPOSTで受け取ったスペース区切りキーワードをexplodeして、
for($i=0;$i<$countKey;$i++){
$wheresql .= "search like '%{$keyArray[$i]}%' and ";
}
(search=検索ワードを詰め込んだカラム)
って感じで繋いで、where $wheresqlしたんですが、結果は通ってうまくいくときはあるんですが、結果0になったり、それらのワードが含まれてるのに出ないレコードがあったりします。。
どこか根本的に間違っているのでしょうか・・・。
and検索って普通どうやってやるんですか?
0962nobodyさん
2005/04/11(月) 15:33:57ID:???スペースが連続したり全角スペースの場合を考慮すれば、preg_split()が望ましいと思う。
あとはforeachとかで回しながらqueryを作ればいい。
likeと%の意味は理解してるかな?
0963961
2005/04/11(月) 16:21:22ID:???ありがとうございます。
一応
$keyword = str_replace(' ',',',$keyword);
$keywords = str_replace(' ',',',$keyword);
こんな感じで全半スペースを,に変えてexplodeしてました。
likeは、パターンに一致、前後%%は前後に〜○○〜と続く、みたいな意味でしたっけ。。
それだと、前に何もない文字列が引っ掛からなくなりますか・・・ためしに、loopで回す文字列を
$wheresql .= (search like \"%{$keyarray[$i]}%\" or search like \"%{$keyarray[$i]}\" or search like \"{$keyarray[$i]}%\") and "
にしてみましたが結果変わらず・・・。
0964nobodyさん
2005/04/11(月) 20:03:55ID:zHJjbS9v0965nobodyさん
2005/04/11(月) 21:07:58ID:???文字コードは特に限定はされてなかった筈。ただ単語と認識するのが
スペースでセパレートされてるワードだけなんで、
そういう作りではない言語(日本語とか韓国語とか中国語とか)には
そのままでは使えない。
0966nobodyさん
2005/04/12(火) 00:26:29ID:FxpxEm5t私の環境は、PHP(4.3.10) + MySQL(3.23.58)、文字コードはEUCです。
2バイト文字を含む部分一致のlike検索において、以下のような問題が起きます。
「L」(全角のエル)を検索した場合に、「藤木」を含む文字列にヒットします。
原因は、Lをあらわす文字コードが、藤木の藤の後ろ半分と、木の前半分を同じ
であることでした。
binaryにすれば大丈夫という話を見かけたので、この2バイトの文字列は、
それまでtext型で持っていたのですが、BLOB型にしました。
like検索の高速化を図った4.X系列では2バイト文字列を考慮していないため、
こういう症状が出るバージョンがあると見たのですが、3.23.58もそうなのでしょうか?
解決策があるなら、ご紹介いただければ、幸いです。
0967nobodyさん
2005/04/12(火) 09:45:57ID:???0968nobodyさん
2005/04/12(火) 15:23:41ID:6tLufYli0969nobodyさん
2005/04/12(火) 20:03:28ID:???SELECT * FROM table WHERE id=1というクエリを実行した時、
id=1のデータは無いのに検索に成功し、エラーを吐かずに処理を続行してしまいます。
同じ処理をPerlで行った時は成功するのですが何が原因なのでしょうか?
環境はWin+Apache1+PHP4+MySQL4.0.18
文字コードはスクリプト、データともEUCです。
0970nobodyさん
2005/04/12(火) 21:26:03ID:???よいのでは。それ以上はわかりません(素人でつ)。
0971nobodyさん
2005/04/12(火) 21:40:38ID:???> SELECT * FROM table WHERE id=1というクエリを実行した時、
> id=1のデータは無いのに検索に成功し、エラーを吐かずに処理を続行してしまいます。
検索に成功した。(ただし、Hitしたのは、0個。)
こういう結果が返ってきてる。
つまり、アルゴリズムが変。つーか、MySql関数が返す値をマニュアルで調べるべし。
0972nobodyさん
2005/04/13(水) 00:09:23ID:P5BMPkuzそこに使われていたインデックスも削除されるんですか?
0974969
2005/04/13(水) 00:51:56ID:???返信ありがとうございます。解決できました。
エラートラップにorを使っていたのが拙かったようです。
if文に変えたら正常に動作しました。
0975969
2005/04/13(水) 01:30:22ID:8dY+nynKもしかしてmyslq_queryの成否って検索結果とは関係ありませんか?
クエリでたらめにしたらエラートラップ引っかかりました。
検索結果に対しては別にエラー処理を考える必要があったってことですね。
0976nobodyさん
2005/04/13(水) 03:20:49ID:???0977nobodyさん
2005/04/13(水) 03:24:39ID:???そうだよ。
クエリーとは、データベースに対して、これこれこういう条件のデータを探してくれ、という”問い合わせ”の事だ。
これに対して、データベースは、こんなんが有るよ。あるいは、そんなの無いや。等を返す。
つまり、クエリー(問い合わせ)は”成功”している。”無いよ”と言うのも立派な答えだ。
mywql_queryがエラーを返すのは、”問い合わせ方がおかしいだろ!”とか、"そんなテーブルなんてねーよ!"ってな時だ。
マニュアルを読みなさい。
0978nobodyさん
2005/04/13(水) 18:42:29ID:P5BMPkuzでもこの状態でもマルチバイト文字列のデータを格納・出力出来ますよね。
(latin1は西欧の文字コードのはずなのに)
my.iniで設定しているdefault-character-setって何に影響するんですか?
0979nobodyさん
2005/04/13(水) 18:45:22ID:???0981nobodyさん
2005/04/14(木) 20:30:02ID:ujiybS0C間違ってquiteと打ち込んだら->が出て
それ以降、何を打ち込んでも受け付けてくれなくなりました;
回避策教えてくださいm__m
0982981
2005/04/14(木) 20:38:08ID:???終了せずにウィンドの×ボタンで閉じるのは駄目ですか?
探してもそういうのが書いてあるのが見当たらないです、お願いします
0983nobodyさん
2005/04/15(金) 00:47:26ID:???さらにShift_JISでデータを入れようものなら、2バイト目にアルファベットが入っていて
aとAぐらいずれている漢字を同じ文字と見立ててしまう。
like でも別の文字が出てきちゃったりするお
EUC で入れても laten1 と宣言されたテーブルは同様に検索かましてくれます。
今だと何気にUTF-8が安全だったりするのかな?
0984nobodyさん
2005/04/15(金) 13:24:18ID:???ウィンドウのクローズでも、まあ良いけどね。
ただウィンドウのクローズの場合、mysqlとの接続を遮断するわけではないので
接続の遮断はタイムアウトにお任せだけど。
0985nobodyさん
2005/04/15(金) 16:02:06ID:???MySQL 総合 Part4
http://pc8.2ch.net/test/read.cgi/db/1108124655/
0986nobodyさん
2005/04/15(金) 21:25:19ID:+8mNx0eh覚えがあるんですが(+とか-とか使ってたような)、
今ぐぐってみても見つけられませんでした。(リファレンスにも見当たらなかった)
私の勘違い?
レス数が950を超えています。1000を超えると書き込みができなくなります。