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

元スレMySQL 総合 Part20

mysql覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

901 = :

こういうことをどうでもいいと考えるのは悪いことです。

902 :

すいません質問です。

INSERT文がエラーもなくクエリOKになるんですが
データを見てみるとINSERTされていません。。

特定のテーブルだけこうなるんですが
なにが原因か分かる方いませんでしょうか

903 = :

Insert文が使用してるデータを疑ってみたら?

904 = :

コミットしてないとか。

905 = :

>>903
昨日の昼までは問題なくINSERTされていたのですが
昼以降INSERTされなくなっているんです。
テーブルは変更してないのでSQLは問題ないはずなんですが・・。

>>904
してますます

906 = :

昨日の昼までできたとか言われても知るかよ

907 = :

>>902
・DBが壊れた(HDD、メモリの故障)→ ハードをチェックして修理しDB再構築
・メモリ異常でロード中のMySQLが異常動作→ ハード修理、MySQL再起動
・プログラムのミス(SQL文生成ミス)→ デバッグして生成されたSQL文を確認、MySQLのエラーメッセージを確認
・勘違い

908 = :

>>906
ですよねですよね。

>>907
ハードはテストしてみましたが問題なさそうです。
SQLはデバックして実行直前のSQLを直接実行しましたが
クエリおkだったので問題ないっぽいんですが・・。
クエリおkなのにデータはいってないってどゆこと・・。

909 = :

もうディスク一杯とか。

911 = :

定義です。
CREATE TABLE `t_A` (
`AID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`B` int(10) unsigned NOT NULL,
`C` tinyint(3) unsigned NOT NULL,
`D` smallint(5) unsigned NOT NULL,
`E` datetime NOT NULL,
`F` tinyint(3) unsigned NOT NULL,
`G` tinyint(3) unsigned DEFAULT '0',
`H` varchar(10) DEFAULT '',
`I` varchar(500) DEFAULT '',
`J` datetime DEFAULT '0000-00-00 00:00:00',
`K` datetime DEFAULT '0000-00-00 00:00:00',
`L` smallint(5) unsigned DEFAULT '0',
PRIMARY KEY (`AID`)
) ENGINE=InnoDB AUTO_INCREMENT=1102 DEFAULT CHARSET=utf8

913 = :

ああ。データベース再インスコしてるんでちょっと時間かかります・・。

>>912
ついてないですです。

今気づいたんですがAUTO_INCREMENT=1102って実データより進んでますね・・
なんでだろー・・

914 = :

なんの言語かわからないけど、まずsqlのまえにprintかなにかでinsertしてる変数を出力してみたら

915 = :

発行されるINSERT文は出力して別で実行してみてもうまくいかないんじゃないの?

916 = :

INSERT文

insert into aionz.t_打電 (B,C,D,E,F,G,H,I,J,K,L) values(
00000920,
1,
1,
'2011-10-09 17:22:11',
10,
8,
'',
'\r\n',
now(),
now(),
1
)

917 = :

TruncateしてからCSVにしといたデータを1件ずつInsert
ここまでは問題なくInsertできるのに
システムで1回でもInsertするとその後は同じ症状になる。

どっかで変なSQL発行してんのかなぁ・・
SQL発行してるとこ全部見直すかぁ・・

918 = :

わかった。
INSERT文を発行してない という驚愕のオチだこれ。

919 = :

oh..新発見

truncateしてテーブル空っぽにして
システム動かしたらちゃんとInsertされてる・・

容量・・・?とか・・・?
MySqlって容量はOSとかストレージに依存でしたよね?

ちょっとずつデータ増やして実験してみます

920 = :

わかっちゃいました・・・。
あの・・・WorkBench使ってるんですが・・・・その・・・
どうやらWorkBenchってデータ表示が1000件までっぽい・・・

Descで表示したらデータちゃんと入ってますやん・・・・・・・

ごめんなさいごめんなさいごめんなさい米絵七笹示唆さしあああああああああああああああああああああああ
ふざけんなあああああああああああおれの1日を返せええええええええええええええええええええええええええええええ

921 = :

WorkBenchでデータの確認をしているのですが
1000件目以降データが入ってないみたいなんです

って感じで最初に付け加えておくともっと早かっただろうに・・・

923 = :

やった!当たったぜ

924 = :

まぁ大抵そういうもの
気にスンナ

925 = :

エスパーする前に
「意図した結果になっていないことをどのように確認したか?」
って聞けばいいのね。
勉強になるわー

926 = :

それではエスパー失格です

927 = :

>>925
そこをピンポイントで想像するのがエスパーだろ

928 = :

これ正解出来てたらもうジェダイレベルだろ。

929 = :

事実正解した人がいるじゃないか→>>923

930 = :

後からならどうとでも言える

931 = :

>>930
そのセリフこそ負け犬の遠吠えに聞こえる

932 = :

月曜日から日曜日
0時から24時までを
true falseのbooleanフィールドを用意するとしたら
1つのテーブルの中に
①7 x 24 = 合計168フィールド+リレーションキー
を用意したほうがいいですか?

それとも
②日ごとの24フィールド + 1(曜日) + 1(リレーションキー)の合計26フィールド

③または時間ごとの
1(時間)フィールド+1(曜日)+1(リレーションキー)
の3フィールド

①は一つのテーブルで簡潔できるがフィールド数多すぎ

③はレコードが増えすぎる


どれが一番現実的ですか?

933 = :

なにがしたいのかがわからんけどCharでいれてSubstringって手もある。

用途がわかればもうちょっと答えようもあるお

934 = :

>>933
ユーザー(パートさん)ごとの24時間体制スケジュールを作ろうと思ってます

出勤できる曜日の時間帯は1(true)
出来ない日は0(false)

月 火 水 木 金 土 日
0 0
1 1
...
23 23
24 24
※ここでの数字は時間帯で、それぞれにチェックボックスがある

みたいな表にアクセスしてもらって、
そこでチェックを入れてもらって
どの曜日のどの時間は1か
というものを管理したいです。

935 = :

DBのお作法としては③

936 = :

DBにする必要がないだろ・・・パート職員は何人いるんだよ?
どうしてもって言うなら一番で十分だと思うが。

938 = :

>>934
別にフィールド数もレコード数も多すぎはしないだろ
プログラミングが楽な方法にしろよ

939 = :

全角の英数字を半角になおしたいです。
replace関数で一文字一文字変換するしか思いつきませんが、
他に簡単な方法はないでしょうか?

940 = :

プログラム側でやっておけばいいと思うが

941 = :

>>932が真偽値でテーブルつくるってユーザーごとにテーブルつくる気なのかなと思ってオカンがはしった

943 :

質問です。

mysqlのトランザクションは、開始してから一分ぐらいでタイムアウトするかと思うんですが、
1分以上かかるようなSQLでトランザクションを使いたい、という場合、
どうするべきなんでしょうか?

944 = :

>>940 >>942
ご回答ありがとうございます。全角から半角にupdateで
変更できたらとおもっていましたが、mysql側ではできない
みたいですね。プログラム側で行ってみます。
ありがとうございました。

945 = :

>>943
トランザクションはタイムアウトしないぞ。
ロック待ちのことなら最初に設定すればよい

mysql> set innodb_lock_wait_timeout = 1000;
Query OK, 0 rows affected (0.00 sec)

946 = :

MySQL初心者です。
id time name score の4つのカラムがあるテーブルから
以下の条件のデータを取得したいのです。

1.スコアが低い順で並べる(スコア=クリアタイムのため)
2.同じスコアがあれば、rankの値が並ぶ(2位が2人とか)
3.同じ名前であれば、最新のスコアと最も良いスコアの以外を省く
4.現在から24時間以上古いものは省く

timeはunixtimeで、名前は文字列、スコアはただの数値です。
すべてMySQLでできることなのではないかなとおもって実践しているのですが
経験不足なため、そこはPHPでやったほうがいいなど、根本的な指摘などあったら
そちらも含めてご伝授いただきたいです。

よろしくお願いいたします。

947 = :

>>946
このへんを見て。(要登録)
http://codezine.jp/article/detail/3107?p=3

948 = :

>>947
MySqlで分析関数あるのかーと思ってみたけどやっぱないのか。
select の中でサブクエリってどうなの?っていつも思うんだけどどうなの処理速度的に。

イメージでは1件に対して1回SQL発行するからすごい処理時間かかりそうなんだけど・・
そのへんどうなの教えてエロい人

949 = :

質問です。

データベースを更新するときは、普通にトランザクションを使いますが、
参照する場合もトランザクションって使うものなのでしょうか?
時間のかかるデータ集計のSQLを実行しようと思っているのですが、
その間に更新されても影響がないようにしたいのです。

参照する場合もトランザクションを使う場合、終了する場合はコミットですか?ロールバックですか?
基本的な質問ですみませんが、よろしくご教示お願いいたします。m(_ _)m

950 = :

>>949
データ集計が1つのSQLならトランザクションいらない。
複数のSQLを駆使する必要があるなら最初に
START TRANSACTION WITH CONSISTENT SNAPSHOT;
する。
最後はコミット/ロールバックどちらでもよい。


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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