のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,620,358人
昨日: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
751 : NAME IS - 2010/04/19(月) 23:36:06 ID:??? (-29,-29,-44)
ローカルのphpMyAdminでテーブルを作成する時にテーブル名を
大文字で入力し作成しているのですが、
テーブルを作成し終わるとなぜか小文字になってしまってます。
何が原因でしょうか?

※Windows Vista
752 : NAME IS - 2010/04/20(火) 00:43:31 ID:??? (-26,-29,-57)
質問させてください

SQL文の文末についてですが  ~';で終わらなければいけないところを
                     ~':"; こんな感じで書いていたところがありエラーログが出ていました


・・・・が、正常にSQL文が実行されているようなのですが、これはMySQLの親切機能みたいなものなのでしょうか?


適当なSelect文の文末を↑みたいにわざと間違えて実行したところエラーのウィンドウは表示されますが
その後正常にSqL文が実行されるのを確認しました。
754 : NAME IS - 2010/04/20(火) 19:07:20 ID:??? (+50,+29,-74)
phpMyAdminの話で申し訳ないがちょと質問

フィールドの順番を変えたいのですが
どうやるんでしょうか?
フィールドを追加していったらよく見る必要なフィールドが画面外に orz

フィールドの後に追加というのはわかりましたが
「構造」やら「操作」を見てもそれらしいものが見あたらず…
755 : NAME IS - 2010/04/20(火) 19:15:04 ID:??? (+27,+29,-9)
順番入れ替えるのは無かったはず。テーブル作り直しするしかないんじゃない?
756 : NAME IS - 2010/04/20(火) 19:53:56 ID:??? (-27,-29,-35)
>>754
SQLを直接書いたら何とか。
ALTERしてUPDATEしてALTERしたら。
758 : NAME IS - 2010/04/20(火) 20:45:20 ID:??? (-26,-29,-46)
小手先でやるなら、新しいフィールドを作ってから、

update table set newfield=oldfield
してから、古いフィールド削除して、フィールドのリネームなのかな?

※バックアップは忘れずに。
759 : 754 - 2010/04/20(火) 21:19:26 ID:??? (+27,+29,-7)
ああ、そっか、そういう手があるか、頭良いな~。

エクスポートしてコピペしようかと思ってたw
761 : NAME IS - 2010/04/20(火) 21:39:07 ID:??? (+16,+23,-1)
ビュー作ればよくね?
762 : NAME IS - 2010/04/20(火) 21:44:58 ID:??? (-24,-22,-17)
Accessでリンク貼って好きに並び替えればよくね?
766 : NAME IS - 2010/04/22(木) 16:07:56 ID:??? (-29,-22,+1)
forkするとか
767 : NAME IS - 2010/04/22(木) 16:21:18 ID:??? (+27,+29,-7)
具体的に何がしたいのか書いた方が解決策出やすい気がする
768 : NAME IS - 2010/04/22(木) 17:03:21 ID:??? (+32,+29,-28)
ご返答有難うございます。

20個くらいnow()で指定されているプログラムがあり、日付を
好きなように遡って検証したいといわれたのですが、
これらを変更しないでどうにかできないかと思い質問させて
いただいた次第です。

よろしくお願いいたします。
769 : NAME IS - 2010/04/22(木) 17:58:02 ID:??? (+32,+29,-50)
変更しない、というのはプログラムに埋め込んだSQLのこと?
データ変更していいなら直接SQL叩くとか

時刻はOSで1つのグローバルな場所から都度持ってくるから
プロセス内だけというのは難しいかも、OS次第かもしれないけど。
770 : NAME IS - 2010/04/22(木) 19:41:00 ID:??? (+4,+6,-21)
スクリプトコピって、now()の代わりに適当な値渡すように書き換えれば?
771 : NAME IS - 2010/04/22(木) 20:31:21 ID:??? (-27,-30,-43)
それはperlの範疇だなぁ

sub now {return time; }
*main::now = sub( reutrn 1; );

もしくは
*CORE::GLOBAL::time = sub { return 1; };

もしくは
use subs qw( time );
sub time { return 1; };

で関数を上書きすれ
テストの基本だべ
773 : NAME IS - 2010/04/23(金) 16:12:07 ID:??? (-29,-27,-3)
最新情報10件のテーブルを作ってください
774 : NAME IS - 2010/04/23(金) 16:59:34 ID:??? (+22,+29,-1)
ほんとだ難しい
思いつかんかった
775 : NAME IS - 2010/04/23(金) 18:31:03 ID:??? (-27,-30,-56)
delete from data id NOT IN (select id from data where shouhin_id=1 order by update desc limit 10);

これは動かないでしょうか、検証してないけど。
776 : NAME IS - 2010/04/23(金) 18:32:31 ID:??? (-27,-30,-55)
delete from data where id NOT IN (select id from data where shouhin_id=1 order by update desc limit 10);

whereが抜けてた。
777 : NAME IS - 2010/04/24(土) 01:51:50 ID:+dWDx83M (+24,+29,-23)
バイナリログって全部保存しておくものですか?
尋常じゃない量になりそうなんですが
778 : NAME IS - 2010/04/24(土) 02:05:55 ID:??? (+19,+26,+0)
バイナリログなんて取ったこと無いわ
779 : NAME IS - 2010/04/24(土) 02:17:48 ID:??? (-27,-23,-35)
バイナリログの定番の運用法ってよく分からないよね。
バックアップ取ったら定期的に purge するもんだと思ってるけど。
781 : NAME IS - 2010/04/24(土) 08:45:29 ID:??? (+27,+29,-15)
レプリケーションのために取ってる。だから、すぐ捨ててる。
783 : NAME IS - 2010/04/24(土) 10:27:31 ID:??? (-27,-30,-163)
レプリケーションなしの場合は、バイナリログというのは
フルバックアップを取った時点から現在までロールフォワードするためのもの。

フルバックアップを3世代取るとして
4/04 フルバックアップA取得
4/11 フルバックアップB取得
4/18 フルバックアップC取得、4/03までのバイナリログを削除
4/25 フルバックアップA取得、4/11までのバイナリログを削除
...

って運用する。
Oracleなら普通だけど、まあMySQLでここまでやってるのは見たことないな。
784 : NAME IS - 2010/04/24(土) 12:29:56 ID:??? (-26,-29,-91)
フォームからチェックボックスで趣味を複数選択した時の事で質問なんですが
ID 名前 性別 趣味
001 aさん 男 音楽、ドライブ、映画
005 bさん 女 料理、読書、音楽
こういった場合下のように趣味のテーブルを分けて
foreachでデータを入れるのが一般的なんでしょうか?
ID 名前 性別
001 aさん 男
005 bさん 女

ID 趣味
001 音楽
001 ドライブ
001 映画
005 料理
005 読書
005 音楽

なんだか冗長に見えるけどあってます?
785 : NAME IS - 2010/04/24(土) 13:19:29 ID:??? (+32,+29,-27)
大体あってる。
が、一時的に最初の形のテーブルに入れといて、
後でバッチ処理で正規化する場合もある。
786 : NAME IS - 2010/04/24(土) 14:57:43 ID:??? (+29,+27,-16)
>>785
レスどうもです。
DBほとんど弄ったことがなかったので助かります。
ありがとうございました。
787 : NAME IS - 2010/04/24(土) 15:51:41 ID:??? (+32,+29,-31)
foreachするならデリミタが指定できるんで最初の形のテーブルでもいいんじゃないのかな。
趣味マスタとか作らないんなら、使うときにexplodeするとかのがコードが簡単かもしれんね。
ただ、ボリュームや優先順位、用途を知らんから何とも言えんけど
788 : NAME IS - 2010/04/25(日) 15:39:27 ID:??? (-26,-29,-74)
mysql+php(Vertrigo)で蔵書のデータベース作ろうと思ってるんだけど
小説とか雑誌とか単行本とか参考書とかで必要な列が違うんだけどこういう場合それぞれテーブル分けるべき?
それとも被ってるところもあるしnull値OKにしてひとまとめにした方がいいですかね?
後者の場合は必要なデータだけPHP側で表示させる感じで
データは多分1万レコードくらいで検索とかも出来るようにしたいんだけど
789 : NAME IS - 2010/04/25(日) 17:29:15 ID:??? (+25,+27,-2)
その前に、検索出来ないRDBがあるのかどうか聞きたいね
790 : NAME IS - 2010/04/25(日) 17:36:56 ID:??? (+38,+30,-96)
プライベート用と考えて、俺なら分けないけど人それぞれだからなぁ。
分けない場合も後で本の種類が増えて行く時が不便だから、極力被らない列を減らす努力がいるな。
何入れてもいい列をつくって共通化を図るとか。
テーブルを分けると後で本の種類が増える度にテーブルの追加+PHPのコードまで書き換えになるからなぁ。
どっちでもいいっちゃどっちでもよさそうだけどね。
791 : NAME IS - 2010/04/25(日) 18:13:28 ID:??? (+33,+29,-38)
>>790
なるほど㌧クス
これぐらいのレコード数ならクエリ複数発行しても大して速度変わらないかな
管理しやすそうですしテーブル分けて作ってみようと思います
792 : NAME IS - 2010/04/25(日) 18:33:50 ID:??? (+27,+29,-19)
すべての共通項目を持ったテーブルをまず一つ作ってだな
794 : NAME IS - 2010/04/25(日) 22:17:49 ID:??? (-29,-29,-35)
AUTO_INCREMENTなカラムを主キーにせずに作る方法って無いかな。

REPLACE INTO ~ を使うときに、別のユニークキーを使ってるんだけど
念のため飾りで通し番号もほしいときにどうしたらいいかわからんです。
796 : NAME IS - 2010/04/26(月) 08:15:48 ID:??? (+17,+29,+0)
はい、そうです
797 : NAME IS - 2010/04/26(月) 09:59:52 ID:??? (+32,+29,-5)
そのあとっつーか、同じ順位の物同士がランダム
798 : NAME IS - 2010/04/27(火) 17:55:00 ID:??? (+32,+29,-12)
>>797
そんなことできるんだ! ありがとう
799 : NAME IS - 2010/04/27(火) 19:56:37 ID:??? (-29,-30,-119)
おかしな質問かもしれませんが、
テーブルAを参照している他のテーブルを知ることはできますか?

次のような状態に陥っています。
1.テーブルAを作成
2.外部キー制約によりAを参照するテーブルBを作成
3.テーブルBを削除(DROP TABLE)
4.テーブルAを削除しようとするとエラー
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

説明のためAとBを連続して作成していますが、実際には別々に作成しており、
どこか別のテーブルから参照されているのではないかと考えてるのですが・・・
よろしくお願いします。
800 : NAME IS - 2010/04/27(火) 21:13:35 ID:??? (-10,-29,-70)
>>794

もしかして、レコードがあったらアップデート、無ければインサートをやりたいのかな?

直接的な回答じゃないが、自分はカラムにUnique制約付けて、

insert~
on DUPLICATE KEY UPDATE~

ってやってる。パフォーマンスはこの方が良さそうなもので。

期待値が違ってたらごめん、無視してくだされ。
←前へ 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 + - 経過時間 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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