元スレMySQL 総合 Part14
mysql覧 / PC版 /みんなの評価 : ☆
751 = :
>>750
何が知りたいんだよ。こんだけ状況説明してんのに。
型指定間違いとか、そんな昨日SQL始めました的な事聞いてるわけじゃないんだけど。
752 = :
http://dev.mysql.com/doc/ 落ちてる ?
753 = :
whereつけないorder byだけで抜けたように見えるというなら、それは
本当に入ってないんだろ。それは入れるつもりの値でない別の値を入れて
しまったか、値は正しいがselectの時点では入ってないかのどちらか。
756 = :
修正
としているのですが、INの中に指定されているIDが存在すると
更新されないのですが、1つでも存在しないのがあると、更新されません。
↓
としているのですが、INの中に指定されているIDが存在すると
更新されるのですが、1つでも存在しないのがあると、更新されません。
757 = :
当たり前だ。UPDATEっつー命令の意味がわかってんのか、あんたは。
まずは存在しないIDに対してUPDATEを吐くようなヘッポココードを修正しろ。
759 = :
>>757
ですよね・・。ただ、1件ずつSELECTで調べてUPDATEとして~
という方法だと、負荷がかかりすぎると思うのです。
処理対象の件数が多ければ多いほど。
何か良い案があればと思い、質問させていただきましたが
SQLだけで無理、もしくは1件ずつ調べる方法しかない場合は諦めます。
762 = :
>>755
意味がわからない。何がしたいのか。
where句で該当しないものがupdateされたら逆に困るだろ。
>>761
当然だろ。プロセスが勝手に終了してどうすんだ。お前はサーバーという意味がわかってない。
763 = :
>>762
apacheってプロセスの時間短いよね。うちはpreforkだけど。
そういうのを以って言ってるんじゃない?sshdも短いし。
わしその辺詳しくないからわからんわ。
764 = :
>>760
いや、追加はしたくないんです。。
>>762
とにかく「複数のレコードのUPDATEを、出来るだけ負荷がかからず行いたい」
と言うのが目的です。確かに存在しないIDが更新されたら困りますが。
更新用のIDリストはログファイルにまとめているので
それの更新をかける時に、削除されているIDがある可能性があるんです。
なので、どのようにしてSQLを組み立てるべきなのか、悩んでいまして・・。
766 = :
存在しないid指定しても単に該当するレコードがないからそのidについては
更新されないだけでエラーとかにはならないよな。単に更新件数が減るだけ。
767 = :
>>765-766
>>755に書いたソースで試しましたが、全部が更新されないんです。
自分も「単に更新件数が減るだけ」だと思っていたのですが・・。
だから、INを指定する書き方が悪いのかと思い、方法をお尋ねしました。
768 = :
おかしいね、環境とバージョン書いてみて
769 = :
>>754
ゼロから詳しくおしえてください
どうやれば再現できますか?
771 = :
>>768
バージョンは4.1.22です。
>>770
いやだからそれは759に「こういう事で処理出来ますが~」と書いています。
1件ずつ調べる、対処する方法だと負荷がかかると思うから
「一括で更新する方法はないか?」と言う質問です。
773 = :
いや、質問者はINの中に存在しないIDがあると、存在するものも含めてすべて更新しないって言ってるんでしょ?
そもそも、そのWHERE区をSELECTで使ったらちゃんと出るの?
776 = :
質問者がテーブル構造もろくに書いてないのが問題だが、
いくらなんでも、>>774の様に仮定する人はいないと思うが。
まあエスパーか同じようなテーブル書く人なのかもしれんが。
779 = :
自分の書き方が悪いのか、全く伝わっていませんね・・。
もちろん、自分で調べてググってそれでも解決しないから
皆さんの知恵をいただこうと思い、質問しました。
もちろん、SELECTでも出力されるし、テーブル構造も>>775のような形です。
だから、「SELECTしてUPDATEするの繰り返すと負荷がかかる」
という意見が言えるのではないでしょうか。
どのように質問すれば皆さんに理解して貰える書き方が出来るか
馬鹿な私にはわかりませんので、もう遠慮します。色々ありがとうございました。
780 = :
>>779
だから全く問題ないのに、結果がおかしいんだろ。
異常が出てるのはそこだけじゃないかもしれないから、
1件ずつ入れて回避するようなことをせずに、根本的に直したほうがいいよ。
インストールしなおしたら?
781 = :
結局、>>775のような、とは書いてるが実際のテーブルとかそこで使用したSQLとか
結果とか全然あげてないじゃん。あとで自分のミスに気がついて赤面することになるとは思うけど
問題解決したいなら全部さらしたほうがいいと思うよ。
783 = :
SQL直書きでは上手く動いているけどPHPとかのスクリプトでSQL生成した時に
失敗している気がするな
後からログ拾ってバッチするよりその時一緒に処理するのが一番なんだけどね
例外起きた時にもROLLBACKで整合性を保てるし
みんなの評価 : ☆
類似してるかもしれないスレッド
- MySQL 総合 Part12 (1001) - [94%] - 2008/1/30 17:34 ○
- MySQL 総合 Part13 (996) - [94%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part24 (1010) - [94%] - 2015/2/14 4:46
- MySQL 総合 Part15 (1001) - [94%] - 2009/4/20 12:15 ☆
- MySQL 総合 Part17 (1001) - [94%] - 2010/6/10 20:47 ○
- MySQL 総合 Part18 (986) - [94%] - 2011/1/17 15:46
- MySQL 総合 Part19 (982) - [94%] - 2011/6/9 2:33
- MySQL 総合 Part26 (860) - [89%] - 2023/2/2 9:30
- MySQL 総合 Part20 (995) - [89%] - 2011/10/17 4:48
- MySQL 総合 Part21 (1001) - [89%] - 2011/12/25 22:16
- MySQL 総合 Part22 (1001) - [89%] - 2012/7/10 16:45
- MySQL 総合 Part23 (992) - [89%] - 2013/8/11 17:00
- MySQL 総合 Part25 (947) - [89%] - 2017/6/18 6:30
- MySQL vs PostgreSQL Part2 (941) - [31%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について