MySQL 5.0 (559レス)
1-

368: 2009/05/02(土)00:27 ID:??? AAS
プライマリーキーはchar型かそれとも数値型か
2chスレ:db
369: 2009/05/02(土)00:36 ID:??? AAS
>>364
>( select 学生id from 学生名簿 order by 学生名 limit 0,50)
一見するとこれいらないと思うんだが。
370
(2): 2009/05/02(土)23:21 ID:iDaEn/bV(1) AAS
3つのテーブルをjoinするときに、

A left join B on A.id=B.id left join C on B.id=C.id

というふうにするのと、

(A left join B on A.id=B.id ) left join C on B.id=C.id

というふうに括弧で囲むのとって、どちらのやりかたが適切とかありますか?
371: 2009/05/03(日)09:13 ID:??? AAS
変に括弧とかかかないで
最適化はMySQLに任せてしまったほうがいい・・・はず
372: 2009/05/03(日)22:18 ID:EMVU4nk/(1) AAS
すみません。今日はじめてXAMPPからMySQLをインストールしたんですが
デフォルトでパスワードが無い状態なので、掛けようと思うのですが、
掛け方はいろいろ書いてあるのですが、みんなどこに書いているのかが分かりません。
コマンドプロンプトかと思って入力しても、エラーがおこるのですが
どこに入力したらよろしいのか教えてください
373: 2009/05/04(月)00:04 ID:??? AAS
>>370
絶対に括弧で囲まないとだめ。
joinするときの結合キーがそのテーブルのprimary keyなら結果は同じなんだけど、
そうでない場合、括弧で囲む場合と、そうでない場合で結果がかわる。

なぜかというと、括弧なしの場合、AとBをjoinした結果フェッチする行数が存在しない場合でも、
BとCのleft joinを行うからだ。
374
(1): 2009/05/04(月)06:11 ID:pQt/LC0v(1) AAS
質問です。

バイナリログがうまく書き込めないんです。
以下のようなログが出てます
----------------------------------------------
/home/mysql/data$ mysqlbinlog mysql-bin.000008
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
mysqlbinlog: File 'mysql-bin.000008' not found (Errcode: 13)
# End of log file
ROLLBACK /* added by mysqlbinlog */;
省3
375: 2009/05/04(月)09:26 ID:??? AAS
>>374
mysql-bin.000008 かそれが置いてあるディレクトリにパーミッションがない。
376: 2009/05/05(火)19:52 ID:+Yc0J8ac(1/2) AAS
バイナリログに、いつもファイルの最後にこんなのがでるんだけど。
ROLLBACK /* added by mysqlbinlog */;

これ、何かわかる人いますか?
377
(1): 2009/05/05(火)21:41 ID:??? AAS
読んでそのままでは?
378: 2009/05/05(火)22:20 ID:+Yc0J8ac(2/2) AAS
>>377
コメントを訳すと、mysqlbinlogによって追加されました、となるけど、
なんで追加するのかなーと。なんでROLLBACKする必要があるのかと。
379
(1): 2009/05/06(水)15:32 ID:??? AAS
>>370
A left join ( B left join C on B.id=C.id ) on A.id=B.id
380: 2009/05/08(金)04:03 ID:??? AAS
>>379
流石にそれはない
381: 2009/05/11(月)12:33 ID:gPGRNLrz(1/3) AAS
ネットワーク越しに接続させたいので、ユーザXXXに10.1.1.1から接続できるように設定したいと思ってます。
userテーブルにはXXXがlocalhostから接続できるという設定の行があるので、それを流用したいとおもっている
のですが、そんなこと可能でしょうか?
自分でINSERT文を書くのはできれば避けたい('Y'とか'N'が多すぎるし)のですが、普通は自分でINSERT文を
書くべきなのでしょうか?
よろしくお願いします。
382: 2009/05/11(月)13:00 ID:gPGRNLrz(2/3) AAS
例えば、ストアドプロシージャを書いて、その中でSELECTの結果を保存して、
一部を書き換えて、INSERTの引数として使うこととかってできますか?
383: 362 2009/05/11(月)16:32 ID:l33ZsoDq(1) AAS
お礼遅れてすいません。ありがとうございます。
やはり自分のところではorder by よりmaxのサブクエリを使った方が早いみたいでした。
384: 2009/05/11(月)19:39 ID:gPGRNLrz(3/3) AAS
selectの結果を保存するのは出来ない気がしてきたので、ストアドプロシージャの練習を兼ねて
書いてみました。

DELIMITER //
CREATE PROCEDURE net_user_enable(IN myhost CHAR(64), IN myname CHAR(64), IN mypassword CHAR(64))
BEGIN
-- 1: USERテーブルにユーザとホストの組み合わせを追加
INSERT INTO mysql.user VALUES (myhost,myname,PASSWORD(mypassword),'N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0);
-- 2: dbテーブルにホストを追加
INSERT INTO mysql.db VALUES (myhost,'%',myname,'Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
FLUSH PRIVILEGES;
省4
385: 2009/05/12(火)00:12 ID:v5EaLHhs(1) AAS
CREATE FUNCTIONで関数定義するとき、SELECT文を使えないのでしょうか?

CREATE FUNCTION hogefunc(num INT) RETURNS INT
BEGIN
SELECT "hogehoge";
RETURN 2;
END//

こう書いても受け付けてくれません。
386
(2): 2009/05/17(日)08:44 ID:??? AAS
database「hogedb」の中にテーブル「hoge」「age」「sage」を作ったのだが、
うち一つはselect時にselect * from hogedb.hogeのようにデータベースを指定しないとエラーになる。
なんで??
エラー内容;
RROR 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 'hoge' at line 1
387: ワークベンチ 2009/05/17(日)08:48 ID:??? AAS
Workbenchでテーブルを作成しました。ここからCREATE文のスクリプトを作成することは出来ますが
ついでにInsert文のスクリプトも作成することは可能でしょうか?
(テーブルのタブに「Inserts」というのがあり、ここで投入用のデータをエディタで書けるのだが、ここからどうすればスクリプトに落とせるのか不明)
知ってたら教えて下さい
1-
あと 172 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.916s*