元スレMySQL 総合 Part15
mysql覧 / PC版 /みんなの評価 : ☆
401 = :
>>391
分からないんだったらtext型にしとけ
402 = :
正規化をするコツを教えてほしいです。
正規化してる方は、まず非正規化から 第1正規化→第2正規化 としてるんでしょうか?
非正規化から一気に → 第3正規化 とかできませんよね?
ちなみにPHPMYADMINを使用しております。
ご教授よろしくお願いします。
403 = :
PDOなんだけど、
データーベースの構造が以下の通りで、
ID(プライマリーキー) | name | value
1 |りんご | 3
2 |みかん | 6
3 |すいか |12
このとき、ID=1のレコードの、バリューを取ってきて、
表示する。これだけのことなのですが、PDOのfetchを使って、
どうやって書けばいいですか?おしえてください。
404 = :
>>402
ケースバイケースだけど自分は第一正規形からいきなり
第三正規形かなぁ。
データ設計がしっかりしていて関数従属性をちゃんと把握
出来ている場合は推移的従属をみつけるのも難しくない。
とりあえず3NFまでざっくりバらしてみてから、データの
挿入や更新とか考えてちょこちょこいじくります。
405 = :
>>403
宿題は自分でやりましょう
406 = :
>>404
ありがとうございます。
何か便利なツールとかないんでしょうかね
頭固くて混乱するんですよね。。
407 = :
正規化で悩んで追求しすぎて
>>403 のような例だと
id | link | attribute | 値
1 | 0 | 0 | name
2 | 0 | 0 | value
3 | 0 | 1 | りんご
4 | 0 | 1 | みかん
5 | 0 | 1 | すいか
6 | 3 | 2 | 3
7 | 4 | 2 | 6
8 | 5 | 2 | 12
みたいなテーブル一本で全部処理しようという発想になったんですが
ありでしょうか?
408 = :
>>405
わからないなら、無理に書き込みしなくてもよい。
409 = :
>>407
その解法でいかにして正規化の問題が解決されるのか
説明出来るのであればありかな。
410 = :
MySQLの「生みの親」、サンを離れる
http://www.atmarkit.co.jp/news/200902/05/monty.html
うおー
411 = :
なるほど
ありがとうございました
412 = :
>>407
アリエネェw
415 = :
どうやって集計すんだよ
416 = :
レプリケーションについての質問です。
host1(m) -> host2(s)にレプリケーションするとき、全てのスキーマじゃなくていくつかのスキーマだけ選んでレプリケーションさせることはできますか?
大事なスキーマだけをバックアップさせたいのですが全部を転送されるともったいない気がしてしまうのです。
418 = :
>>416
解決できるっぽいので自己フォロー。ありがとうZawodny。
http://dev.mysql.com/doc/refman/5.1/en/replication-rules.html
424 = :
なるほど
ありがとうございました
426 = :
SQLを二つに分けると、その間に別処理がとか
考えないとダメ。なるべくトランザクション
を使いなさいよ。
427 :
サイボウズラボの中の人が、q4mっていうストレージエンジンを開発してるようだけど、
http://labs.cybozu.co.jp/blog/kazuho/archives/2008/05/road_to_mq_with_q4m.php
非同期で書き込みたいなら、ブラックホールストレージエンジンをレプリケーションすれば
良いだけに思える。
これを使えば何がうれしいのかよくわからない。
エロい人おせーて。
428 = :
>>394の質問と微妙にかぶるんだけど、
>>397のは、その一つを取り出すため用に、
一つクエリを送信だけど、
いくつかレコードが出てきたその中の二番目とか
三番目を取り出すことってできますか?
>>397の例でいうと、
mysql> select * from t order by c1 limit 0, 5;
で、6個出てきた中の2と4と6だけ選びたいとなると、
mysql> select * from t order by c1 limit 2, 1;
mysql> select * from t order by c1 limit 4, 1;
mysql> select * from t order by c1 limit 6, 1;
みたいに三回同じことをやって、それぞれで$row['c2']みたいに取り出さないといけないのでしょうか?
430 = :
>>429
ありがとう
やってみた
できた。
でも、取り出せたのは取り出せたんだけど、
c2のaをいろんな文字に変えてみたら、最初の一文字しか取り出せなっかった・・
例えば、c1の3のc2が、bcdだったとき、bしか取り出せない・・
mysql_fetch_arrayでやってみたんだけど違うのかな・・
431 = :
日本語でどうぞ
433 = :
>>428
あーそういうことか。
それだと、429のやり方では無理だよ。
一つ一つ限定して取り出すしかない。
437 = :
countって0は表示してくれないのかよおおおおおおおおおおおおおおおおおおお おわたorz
440 = :
日記はチラシの裏へ
444 = :
スレーブをついうっかり更新した場合とか
5.1でもスレーブをついうっかり更新したら不整合になるよ
445 = :
>>443
確実に行を確定できないクエリを投げれば不整合起きるね。
たとえば DELETE文を ORDER BY なしで LIMIT つけて実行したらどの行が削除されるかマスタとフレーブで相違がでる可能性がある。こんなクエリ投げる奴がタコだけど。 行ベースレプリではこのケースでも発生しなくなると思うが未検証。
446 = :
(SELECT * FROM tbl_A
EXCEPT
SELECT * FROM tbl_B)
UNION ALL
(SELECT * FROM tbl_B
EXCEPT
SELECT * FROM tbl_A);
ms sql で上記の様なSQL文を使っていたのですが、MySQLでは使えないのでしょうか?
代わりとなるSQL文が思いつかなくて困っております。
447 = :
phpmyadminでは
SELECT * FROM TABELE WHERE TESTDATE = DATE(NOW()) - 1
を計算して表示してくれるんだが、phpで1のところに変数入れたらクエリ送信に失敗する・・
$date = 1;
$sql = "SELECT * FROM TABELE WHERE TESTDATE = DATE(NOW()) - $date";
なんでだと思って、php側で変数使わずに、
$sql = "SELECT * FROM TABELE WHERE TESTDATE = DATE(NOW()) - 1";
ってやったらいける。
これって同じじゃないのか?・・
どなたかおたすけを
みんなの評価 : ☆
類似してるかもしれないスレッド
- MySQL 総合 Part12 (1001) - [94%] - 2008/1/30 17:34 ○
- MySQL 総合 Part25 (947) - [94%] - 2017/6/18 6:30
- MySQL 総合 Part13 (996) - [94%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part14 (1001) - [94%] - 2008/11/23 10:17 ☆
- 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 総合 Part24 (1010) - [89%] - 2015/2/14 4:46
- MySQL vs PostgreSQL Part2 (941) - [31%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について