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

    私的良スレ書庫

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

    元スレMySQL 総合 Part20

    mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    51 : NAME IS - 2011/07/01(金) 23:53:22.43 ID:??? (+26,-28,-5)
    あ、PHPか
    PDO使っとけ
    52 : NAME IS - 2011/07/01(金) 23:53:42.30 ID:??? (+62,+29,-30)
    どこで聞けばいいのかわからなかったのでお願いします
    複合一意キーや外部キーなどの制約名の命名規則みたいのありますか?
    なんてつけたらいいのかわからなくていつもつけてません
    ちなみにつけたらなんかおいしいことあるんでしょうか?
    53 : NAME IS - 2011/07/01(金) 23:57:11.30 ID:??? (+59,+26,-1)
    >>51
    それは>>50に対してですか?
    55 : NAME IS - 2011/07/02(土) 03:57:54.68 ID:??? (+30,-30,-19)
    to reset your
    password with the command SET PASSWORD = PASSWORD('your_existing_password')
    56 : NAME IS - 2011/07/02(土) 05:24:38.30 ID:??? (+6,-26,-3)
    >>50
    mysql ソース ダウンロード
    あたりでググりなさい
    57 : NAME IS - 2011/07/02(土) 05:28:48.33 ID:??? (+58,+29,-87)
    >>54
    「他のサーバーから」ってどういう意味だい?
    他のサーバーのPHPからってこと?
    Macってクライアントマシンのこと?
    PHPでエラーが出てるのに何でクライアントマシンが原因だと思うの?
    58 : NAME IS - 2011/07/02(土) 06:35:04.81 ID:??? (+58,+26,-4)
    >>55
    ありがとうございます!
    さくらサーバー上で試しましたが、結果は変わらずです。
    59 : NAME IS - 2011/07/02(土) 06:51:42.44 ID:??? (+40,-29,-131)
    >>57
    ありがとうございます!
    >>>54
    「他のサーバーから」ってどういう意味だい?
    クライアントMac、さくらサーバー以外のサーバー上でMacと同一PHPファイルを走らせたということです。
    >PHPでエラーが出てるのに何でクライアントマシンが原因だと思うの?
    別サーバーでは問題なくPHPファイルが走り、さくらサーバーのMySQLに書き込めたので原因はクライアントにあると考えた次第です。
    60 : NAME IS - 2011/07/02(土) 09:12:10.48 ID:??? (+65,+27,-85)
    >>59
    別のサーバーからさくらのMysqlサーバーにアクセスできたってことね。
    だったらさくらのウェブサーバーからMysqlにアクセスできないってだけだよね?
    クライアント関係ないと思うけど。
    つか、「サーバー」「クライアント」の意味を理解してるのかが疑問。
    61 : NAME IS - 2011/07/02(土) 11:19:27.65 ID:??? (+3,-30,-88)
    すでに登録されてるデータベースから他の人が作ったテーブル構造を見たいのですが、
    hogeというテーブルに対してどういう文を実行すればみれますか?
    みたい内容は
    id int(5) primary key auto_increment,
    name varchar(30) collate utf8_unicode_ci not null
    みたいなcreateやalterで変更した詳細な構造をみたいです
    62 : NAME IS - 2011/07/02(土) 11:30:47.27 ID:??? (-6,-29,-13)
    show hoge;
    63 : NAME IS - 2011/07/02(土) 11:51:23.06 ID:??? (-1,-29,-34)
    show create table hoge;

    mysqldumpで出してみてもOK
    64 : NAME IS - 2011/07/02(土) 12:39:53.65 ID:??? (+20,-30,-52)
    phpで重複チェックするとき
    対象となるフィールドでチェックする文字列をselect from~、whre "チェックする値"で検索をし、
    変数$check =にその結果を入れて、変数$checkが存在したら重複という風にやってるのですが
    これってやっぱり効率悪いでしょうか?

    MySQLの事ですから重複チェックするには何かもっと良い方法があるような気がするのですが
    65 : NAME IS - 2011/07/02(土) 12:47:15.48 ID:??? (+64,+28,-23)
    ちなみに重複チェックする時ってのは
    データを挿入する時挿入する値が既に登録されてるかどうかチェックするって事です
    66 : NAME IS - 2011/07/02(土) 14:19:15.57 ID:??? (+65,+29,-1)
    >>48
    そんなの薦める奴初めて見た
    67 : NAME IS - 2011/07/02(土) 14:19:55.54 ID:??? (+43,-30,-96)
    okashi.sqlというtableを作るファイルを作りました。
    CREATE TABLE okashi ( NO smallint, NAME varchar(50) );

    これをMYSQLで実行したいのですが、うまくいきません。
    mysql>mysql onigiridb < c:\work\okashi.sql;

    と入力しても
    EROR:
    Unknown command '\:'.
    EROR:
    Unknown command '\o:'.

    となります。
    どう解決したらいいでしょうか?
    68 : NAME IS - 2011/07/02(土) 16:28:54.73 ID:??? (+3,-30,-95)
    show columns from TABLE
    show index from TABLE
    show create table TABLE

    他あるかな

    さくらだかのサーバーでファイアーウォールが拒絶してるとか
    69 : NAME IS - 2011/07/02(土) 18:03:28.35 ID:??? (+6,-29,-2)
    >>66
    普通はaddslashesを薦めるところ
    70 : NAME IS - 2011/07/02(土) 18:06:44.69 ID:??? (-1,-29,-10)
    >>64
    distinctじゃだめなの?mysqlに依存しないけど
    71 : NAME IS - 2011/07/02(土) 18:09:18.35 ID:??? (+6,-29,-19)
    >>65
    primary key かunique 指定しろ
    72 : NAME IS - 2011/07/02(土) 20:10:42.93 ID:??? (+47,-30,-16)
    >>67
    こうじゃなくて
    mysql>mysql onigiridb < c:\work\okashi.sql;

    こう
    C:\> mysql onigiridb < c:\work\okashi.sql;
    73 : NAME IS - 2011/07/02(土) 20:13:18.04 ID:??? (+52,-15,-73)
    >>64
    対象カラムに一意キーをつけて、いきなりINSERTする、
    エラーがでたらそのときに適切に対処、でもいいと思う

    あと元のやり方だと、チェックしてからINSERTするまでの
    わずかな間に他の人がINSERTするケースが想定されていない
    74 : NAME IS - 2011/07/02(土) 21:12:16.86 ID:??? (+61,+26,+0)
    >>73
    select の前でロックしておけばいいね
    75 : NAME IS - 2011/07/02(土) 21:53:12.78 ID:??? (+101,+29,-60)
    SQL慣れしていないんですけど、
    ストアドプロシージャ(データベースに対する一連の処理をまとめた手続き)って、
    別にプログラム側で実装してもいいですよね?
    76 : NAME IS - 2011/07/02(土) 22:26:43.93 ID:??? (+106,+29,-49)
    >>75
    まぁそうだね。管理しやすさの問題。
    プログラム側で一連の処理をクラス化・関数化して持っておくのと効果は同じ。
    ただしストアドプロシージャの方が実行速度が速い可能性が高い。
    77 : 75 - 2011/07/02(土) 22:40:28.91 ID:??? (+77,+29,-66)
    >>76
    レスありがとうございます。
    データベースは全くの初心者なんですが、
    実務アプリケーションの設計からコーディングまで全部丸投げされて、
    もう涙目状態なんですが、
    プログラム側で全部処理してやろうぐらいの勢いで作っちゃおうと思います・・・
    78 : 67 - 2011/07/02(土) 23:13:03.72 ID:??? (+62,+29,-2)
    >>72
    ありがとうございます。ようやく一歩進めた感じですごくうれしいです。
    79 : NAME IS - 2011/07/03(日) 02:09:41.01 ID:??? (+75,+29,-55)
    トランザクション処理は、1つのテーブルの更新のときは使わないで、
    複数にまたがるテーブルの更新のときは使う。
    といった感じでいいのでしょうか?
    それとも1つのテーブルでもとりあえずやっておくべきでしょうか?
    データベースエンジンは全部InnoDBでいいですよね?
    80 : NAME IS - 2011/07/03(日) 04:39:58.99 ID:??? (+6,-30,-29)
    >>65
    unique key (primaryでも可) と insert ... duplicate key updaye
    81 : NAME IS - 2011/07/03(日) 05:09:29.74 ID:??? (+24,-3,+2)
    >>79
    no
    82 : NAME IS - 2011/07/03(日) 08:57:39.05 ID:??? (+57,+29,-7)
    トランザクションなんて使ったことないよ
    使わなくても何でもできるよ
    83 : NAME IS - 2011/07/03(日) 09:41:03.28 ID:??? (+3,-30,-23)

      ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
     {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;  トランザクションなんて使えなくても
      ヾ;;;ハ    ノ       .::!lリ;;r゙         ロックで代用できる
       `Z;i   〈.,_..,.      ノ;;;;;;;;>
       ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f     そんなふうに考えていた時期が
       ~''戈ヽ   `二´    r'´:::. `      MySQLにもありました。
    84 : NAME IS - 2011/07/03(日) 12:24:36.29 ID:??? (+50,+27,-15)
    マイイザムで十分だから。
    85 : 67 - 2011/07/03(日) 12:27:50.66 ID:??? (+15,-30,+0)
    以前>>67で質問させていただいたものですが、>>72さんに教えて頂いたやり方に
    修正したところ

    mysql Ver 14.14 Distrib 5.5.13, for Win32 (x86)
    Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Usage: mysql [OPTIONS] [database]
    -?, --help Display this help and exit.
    -I, --help Synonym for -?




    max-join-size 1000000
    secure-auth FALSE
    show-warnings FALSE
    plugin-dir (No default value)
    default-auth (No default value)

    と、エラーはでなくなりましたが、かなり長い文が表示され
    外部ファイルでテーブルを作るsql文を実行しているのに

    MYSQL> show tables;
    と入力すると
    Emty set

    と表示され反映されていませんでした。

    ウィンドウズのコマンドプロプントを管理者モードでやってみたりなどしましたが、変わりませんでした。
    初歩的な質問で申し訳ありませんが解決方法はありませんでしょうか?
    86 : NAME IS - 2011/07/03(日) 12:52:59.47 ID:??? (+14,-30,-91)
    >>85
    usageが表示されてるよね。 mysql --help と入力したのと一緒。
    >>72が書いたのそのままじゃなくて userも指定してみたら?あとケツの;は不要。
    C:\> mysql -u (user) -p -D onigiridb < c:\work\okashi.sql

    これでうまくいかないなら、mysql にログインしてから下記を試してみ
    mysql> use onigiridb
    mysql> source c:\work\okashi.sql
    87 : 67 - 2011/07/03(日) 13:04:04.23 ID:??? (+4,-30,-28)
    >>86
    ありがとうございます。
    ユーザー指定して;を抜いたらできました。
    mysql> use onigiridb
    mysql> source c:\work\okashi.sql
    こちらの方でもできました。感謝です。
    88 : NAME IS - 2011/07/03(日) 13:28:15.59 ID:??? (+56,+28,-14)
    でもトランザクション以外にも外部キーとか使えないし
    MyISAMで設計するとテーブル構造としてはあんま綺麗じゃない
    89 : NAME IS - 2011/07/03(日) 21:49:11.29 ID:??? (-1,-29,-12)
    MyISAMとInnoDBどちらが
    しょぼいプログラマーがデッドロックに陥りにくいですか?
    90 : NAME IS - 2011/07/03(日) 23:41:22.97 ID:??? (+57,+29,-6)
    ショボグラマーだとどっち使ってもデッドロックは避けられない
    91 : NAME IS - 2011/07/04(月) 00:44:43.80 ID:??? (+3,-30,-183)
    そうなんですか?

    > MyISAMではデッドロックにもならないし(テーブル・ロック以外のロック方式がないからデッドロックはおきません)、
    > ロック・タイムアウトもおきませんので、プログラム的な工夫は不要です。
    > MySQLサーバ側でうまく調整してくれるようです。

    > 一方、innoDBでもテーブル・ロックできてしまいますが、デッドロックの自動検出ができないようなので、
    > my.cnf(Win版ではmy.ini)に「innodb_lock_wait_timeout」の設定をしておきましょう。
    > つまり、innoDBではテーブル・ロックでデッドロックするとタイムアウトまで待ってからエラーが返りますので、
    > MySQL利用者自身がエラーコードをチェックして対応することになります。

    て書いてるところがあったのでMyISAMなら安心かな?と思ったのですが。
    92 : NAME IS - 2011/07/04(月) 00:48:13.14 ID:??? (+44,+16,-2)
    それどこ情報よ
    少なくともInnoDBについては間違ってる
    93 : NAME IS - 2011/07/04(月) 03:38:57.75 ID:??? (+91,+29,-6)
    PCつけたまま寝てました。
    http://tsuttayo.jpn.org/mysql/innodb/
    ここです

    といっても更新日が2005年だからだいぶ古いですね。
    94 : NAME IS - 2011/07/04(月) 03:48:29.86 ID:??? (+70,+29,-22)
    >>93
    寝るときにPCを付けたままかどうかなんて興味ないから
    余計なことを書かなくてよろしい
    95 : NAME IS - 2011/07/04(月) 03:50:57.56 ID:??? (+57,+29,-5)
    いや返事遅くなった言い訳をしたほうがいいかと
    すみませんでした。
    96 : NAME IS - 2011/07/04(月) 05:11:37.93 ID:??? (+45,+27,+1)
    そうですか。
    97 : NAME IS - 2011/07/04(月) 06:33:47.66 ID:??? (+51,+28,-1)
    なんだよ、釣りサイトじゃねぇか。
    98 : NAME IS - 2011/07/04(月) 08:09:13.30 ID:??? (+45,+22,+0)
    釣りサイトって何ですか。
    99 : NAME IS - 2011/07/04(月) 11:01:06.83 ID:??? (+50,+27,-2)
    http://www.otomiya.com/
    こういうとこだろ
    100 : NAME IS - 2011/07/04(月) 11:02:19.06 ID:??? (+57,+29,-20)
    デッドロックが何なのかも知らないうちから心配してるだけに見えるな
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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