のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,619,166人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレMySQL 総合 Part17

mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 2004 + - config + - Warning + - 経過時間 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
301 : NAME IS - 2010/02/09(火) 02:40:54 ID:??? (-17,-30,-91)
DBのデータ書き込みについて初歩的な質問です。
x,y,suuchiという三つの項目があるとして、
7,8,60という値を一度書き込んだ後、
もう一度
7,8,59という値を上書きしたいのですが、
DB上は
7,8,60
7,8,59
という2つのデータが残ってしまいます。
できれば、
7,8,60というデータは消えて
7,8,59というデータだけ残るようにしたいのですが、
手動で書き込みする際に古いデータを消さなくてはならないのでしょうか?
うまく説明できませんが、答えてくださる人いましたら教えてください。
303 : NAME IS - 2010/02/09(火) 10:33:21 ID:??? (+8,+15,-15)
>>300
クエリーが文法間違いって言ってるね
304 : NAME IS - 2010/02/09(火) 10:37:04 ID:??? (-26,-29,-92)
spiderという面白いストレージエンジンがあるようですが、試した方いらっしゃいませんか?
感想を聞きたいのですが
http://labs.unoh.net/2009/07/mysqlspider.html

UPDATEの負荷分散には効果的だとは思うのですが、
SELECTももし1台のspiderサーバーを通してやるとなると、spiederサーバーがボトルネックになると思うんです。
レプリケーションと共存できるのか知りたくて。
305 : NAME IS - 2010/02/09(火) 19:45:39 ID:??? (-15,-29,-150)
>>303
Syntax Errorでそうかな、とは思ってたんですが、Windows標準のパフォーマンスカウンタには
クエリを書く項目が無くて、設定もできない状態でして……

やりたい事はリモートでサーバーのCPU使用率、メモリ使用率を取得して
それをMySQLに記録していく事なんですが、無理なんでしょうか…
ODBC経由のSQL書き込みの部分で詰まってしまってます
せめて出来るか出来ないか、だけでも解れば凄く助かります
306 : NAME IS - 2010/02/09(火) 20:51:18 ID:??? (+25,+29,-6)
>>305
なにか、壮大に出だしで間違ってる気がする……。
307 : 301 - 2010/02/09(火) 21:35:00 ID:??? (+10,+22,+1)
>>302
ありがと!!
308 : NAME IS - 2010/02/09(火) 22:07:38 ID:??? (+25,+29,-18)
>>305

出来るか出来ないかで言うと、出来る。

お金をくれたらやってあげる。タダではやらない。

309 : NAME IS - 2010/02/09(火) 23:28:56 ID:??? (-27,-30,-114)
x, y カラムを指定して、suuchiカラムに値をUPDATEしたいのですが、

通常のデータの追加であれば、

INSERT INTO `sample` ( `x` , `y` , `suuchi` )
VALUES (
'1', '1', '54'
);

になると思いますが

UPDATEとWHEREを使うとどうなるのでしょうか?
310 : NAME IS - 2010/02/09(火) 23:34:15 ID:??? (-27,-29,-28)
309です。
とりあえずMYSQLの本では
UPDATE テーブル名 SET カラム名=設定値 WHERE 条件;
となっているのですが・・・。
なんかそのままでいいのかな?
311 : NAME IS - 2010/02/09(火) 23:46:57 ID:??? (+18,+29,+0)
>>310
まずはやってみるが吉
312 : NAME IS - 2010/02/09(火) 23:55:44 ID:??? (-27,-30,-75)
UPDATE `sample` (
`x` , `y` , `suuchi` )
set `suuchi`= '$strs[2]' WHERE (`x`='$strs[0]'&& `y`='$strs[1]' )

自分でコードを書いてみましたがうまくいかないみたいです・・・
神様助けて・・・
313 : NAME IS - 2010/02/10(水) 00:24:13 ID:??? (-14,-12,-25)
312です
WHEREの後の条件文の書き方がだめなのかとおもうんですがどうでしょうか?
314 : NAME IS - 2010/02/10(水) 01:06:08 ID:??? (-27,-30,-77)
UPDATE `sample` (
`x` , `y` , `suuchi` )
SET `suuchi`= '$strs[2]' WHERE `x`='$strs[0]' AND `y`='$strs[1]'

setが小文字だったので大文字にしたのと、()付きの&&じゃなくてANDに書き換えてみましたが、
これでもダメみたいです。
315 : NAME IS - 2010/02/10(水) 04:13:41 ID:??? (+19,+26,-2)
317 : NAME IS - 2010/02/10(水) 10:30:55 ID:??? (-27,-30,-244)
Excel + MySQL 5.1.42

mysql-connector-odbc-5.1.6-win32.msiをインストールしたのですが

-2147467259 [MySQL][ODBC 5.1 Driver]Access denied for user 'ODBC@localhost'
(using password;'YES')

のメッセージが出て接続が出来ません。
3.51だったら正常に接続できるのですが、何か設定とかする必要ありました?

管理ツールのデータソースでユーザーDSN及びシステムDNSNに登録もしてみました
(そこでの接続テストはOK)。

DB_CnString = "DRIVER={MySQL ODBC 5.1 DRIVER};" _
& " SERVER = localhost;" _
& " DATABASE = *****;" _
& " UID = ******;" _
& " password = ******;" _
& " STMT=SET CHARACTER SET cp932;" _
& " OPTION =3 "

MySQL ODBC 3.51 DRIVER の3.51の部分を5.1に変えただけなんですが。
319 : NAME IS - 2010/02/10(水) 14:06:35 ID:??? (+36,+29,-112)
セオリーというならリレーションの正規化について勉強なさい
その後で、バッドノウハウとしてパフォーマンスのために非正規化した方がいいところor正規化したままの方がいいところを学ぶ、と

あと老婆心ながら、loginPassは生のまま入れないこと
管理者にすら分からないようにして、ユーザが紛失した場合は再発行させるのがセオリー
320 : NAME IS - 2010/02/10(水) 14:54:33 ID:??? (-29,-29,-3)
質問させて下さい。

以下のようなテーブルがあります。
[ID] | [Value]
A   あああ
A   いいい
A   ううう
B   ええええ
B   おおおおお

これを、次のような形でSELECTすることは可能でしょうか。
[ID] | [ValueAll]
A   あああ,いいい,ううう
B   ええええ,おおおおお
322 : NAME IS - 2010/02/10(水) 17:28:36 ID:??? (-26,-29,-31)
MySQLを勉強しだしたばかりの基本的な質問ですいませんが

日付が入ったDatatime型のカラムから一番古い日付のデータを取り出す場合

SELECT データ FROM テーブル WHERE カラム???

最後の方がわかりません。
たぶん条件式ではなく関数を使う必要があると思うのですが。

ご教授お願いいたします。
329 : NAME IS - 2010/02/11(木) 00:49:46 ID:??? (+22,-29,-30)
>>327,328ありがと
技術評論社のポケットリファレンスで LOAD DATA INFILEのページp295
を読むとCSV形式のファイルが読み込めるみたい!!。
330 : 329 - 2010/02/11(木) 03:32:29 ID:??? (-26,-29,-90)
ポケットリファレンスに紹介されてたODBCをインストールしたらエクセルでデータベースのデータが見れるようになった
のでびっくり。MYSQLってエクセルと相性がいいみたい。
これはMYSQL初心者にとっては奇跡のようにうれしい!!
331 : NAME IS - 2010/02/11(木) 03:45:30 ID:??? (-29,-27,-25)
ODBC使うとエクセルだけで見れるの?
アクセスいるのかと思ってた。あさって試そう。
332 : 329 - 2010/02/11(木) 04:21:34 ID:??? (-29,-30,-223)
次のようなファイルを作ってみたのですがうまくCSV読み込めなかったです。
アドレスの最後に?をつけるとfaultというメッセージが出るのですが、
?をつけなければsuccesともfaultとも表示されません。
これどこが悪いのか分かる人いたらコメントください。

#!/usr/bin/perl

use DBI;

print "Content-type: text/plain; charset=utf-8\n\n";

$dbh = DBI->connect("データベース名", "ユーザ名", "パスワード");
$sth = $dbh->prepare("LOAD DATA INFILE `CSVファイル名.csv` INTO TABLE `shogiban2`
FIELDS TERMINATED BY `,`
");

#SQL実行
$rv = $sth->execute;
$sth->finish;
$dbh->disconnect;

if ($rv)
{
print "success";
} else {
print "fault";
335 : NAME IS - 2010/02/11(木) 10:52:41 ID:YFVlJadY (+29,+29,-94)
テーブルにデータを10件確実に登録する必要がありループでinsert処理しようとするとき
プリペアドステートメントを使うほうがいいと本に書いてありましたが、
このときトランザクション処理の必要があるんでしょうか?
プリペアドステートメントがループ処理に向いてる方法らしいので、
する必要なかったりするのかな?という疑問です。
336 : NAME IS - 2010/02/11(木) 11:35:44 ID:??? (+30,+29,-12)
確実に登録するならトランザクション必要
プリペアドステートメントは性能に影響するけど確実性には無関係
339 : NAME IS - 2010/02/11(木) 12:07:33 ID:??? (+32,+29,+0)
>>336
ありがとうございました

>>319
お礼遅れました、ありがとうございました
340 : NAME IS - 2010/02/11(木) 12:11:29 ID:??? (-29,-29,-61)
perlは知らないけど、ざっと見てsuccess/faultが決まるのはMySQLに実行を依頼した結果だよね?
じゃあ、
A.perlでMySQLを使うやり方として間違いは無いか
B.MySQLに渡したSQLにエラーは無いか
を確かめるってことになる。

まずはBに関して、そのLOAD DATA....を手打ち実行させてみては?
344 : NAME IS - 2010/02/11(木) 21:36:14 ID:??? (+23,+27,+0)
そこで今度はLOCALつけてみようぜ
345 : 329 - 2010/02/12(金) 03:16:51 ID:??? (-23,-30,-144)
>>344
LOCALつけると違うメッセージが出るけど、つかってるMYSQLのバージョンでは、
このコマンドは許可されてないということらしい。
自作サーバーじゃなくてレンタルサーバーだからアクセス権限が管理者権限じゃないのが原因かな?
とりあえず、レンタルサーバ会社に質問をメールして返事待ってるとこ。

MYSQLって構造が分かるともっと楽しくなる予感がする。
でもそこまでは僕みたいな素人ではなかなか無理かな・・・。
(できる範囲で頑張る!!)

MySQLのメッセージ:

#1148 - The used command is not allowed with this MySQL version

346 : NAME IS - 2010/02/12(金) 13:37:47 ID:??? (-21,-29,-33)
win版mysql5.5のバイナリってなくなったの?探しても見つからないんだが
347 : NAME IS - 2010/02/12(金) 15:12:15 ID:??? (+9,+16,+0)
ありますん。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 2004 + - config + - Warning + - 経過時間 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について