X



トップページDB@2ch掲示板
1002コメント287KB
MySQL 総合 Part25 [転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001NAME IS NULL垢版2015/02/15(日) 20:50:54.09ID:???
オラクル社によるオープンソースのRDBMS、MySQLの総合スレです。

MySQL 総合 Part24
http://peace.2ch.net/test/read.cgi/db/1376466127/

MySQL Developer Zone http://dev.mysql.com/
MySQL 5.5 マニュアル (E) http://dev.mysql.com/doc/refman/5.5/en/index.html
MySQL 5.1 マニュアル (J) http://dev.mysql.com/doc/refman/5.1/ja/index.html

日本MySQLユーザ会(MyNA) http://www.mysql.gr.jp/
ML過去ログ http://www.mysql.gr.jp/mysqlml/mysql/

ここで質問をする前に、MyNAでのFAQと心得の条を最初に確認しましょう。
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ
http://www.mysql.gr.jp/frame/modules/bwiki/index.php?%BB%A8%B3%D8%2F%BF%B4%C6%C0
0002NAME IS NULL垢版2015/02/20(金) 11:13:40.13ID:???
ORDER BYを使用しないと結果順序が保証されないのは記述どおりなんだが、特定の条件下でLIMITで抽出した部分のみに対してORDER BYされる気がするんだが。
0003NAME IS NULL垢版2015/02/20(金) 11:57:21.34ID:???
limitで抜き出した時に、order byに指定がないカラムがある場合、順序が一定してないと思った。
これのことかな?
0004NAME IS NULL垢版2015/02/27(金) 03:32:13.87ID:???
>>3
ORDER BY自体は効いてて実効タイミングがLIMIT後になるので若干違う様な気がする。
LIMITすると全カラムORDER BY必須になると言うのも驚愕だけれど。
0005NAME IS NULL垢版2015/03/09(月) 16:10:44.44ID:FpuW/LqX
ある時点から、各テーブルに追加・削除されたデータ
の一覧を知りたいんだけど、どうしたらわかりますか?

各テーブルを事前と事後でCSVでダンプしてdiffで比較
が一番簡単ですかね
0006NAME IS NULL垢版2015/03/09(月) 16:52:06.58ID:???
それで済むならそれで
トランザクションログ使うてもあるが、、、
0007NAME IS NULL垢版2015/03/11(水) 20:50:19.91ID:nGK84nQD
mysqldumpで、1行ごとに改行させるにはどうしたらよいですか?

1行ごとにINSERT文を吐かせたくは無いので、バルクのままで
改行だけ足したい
0008NAME IS NULL垢版2015/03/11(水) 21:09:01.80ID:???
1行ごとに改行??
行を改めるで改行なんだけど何言ってんの?
0009NAME IS NULL垢版2015/03/11(水) 22:09:38.97ID:???
>>8
1レコードごとに改行させたい
ですすみません
0010NAME IS NULL垢版2015/03/12(木) 04:34:13.34ID:???
mysql使ったことのない俺が言うのもなんだけど、mysqldumpって1レコードごとに改行されないの?
0011NAME IS NULL垢版2015/03/12(木) 11:26:46.85ID:???
例えば、こんな感じ
INSERT INTO `t_test` VALUES (1,3),(1,4),(1,5),(2,4),(3,1),(4,1),(4,2),(5,1);
0012NAME IS NULL垢版2015/03/12(木) 11:48:33.88ID:???
ちょっとマニュアルみてみたけど、
--skip-extended-insert
つけたらどうかな?
0013NAME IS NULL垢版2015/03/12(木) 11:50:17.76ID:???
違うのか、>>11 はこう出したいという例も書いてくれ、、、
VALUES (1,3),
(1,4),
(1,5),
 ・
 ・

こうしたいの?
sed挟んだら
001411垢版2015/03/12(木) 12:23:27.33ID:???
すまん、オレは質問者じゃない。
>>13
うん、オレもそうしている。
0015NAME IS NULL垢版2015/03/12(木) 12:25:56.80ID:???
>>12
そのオプション指定すると、
各行に INSERT INTO が入るので、
質問者の意図する出力になるかどうかだな
0016NAME IS NULL垢版2015/03/12(木) 17:25:23.42ID:???
出力したあと痴漢すれば?
0017NAME IS NULL垢版2015/03/15(日) 17:45:00.53ID:PFwhcbFx
rootでログインしようと思って以下のようなコマンドをうったら
mysql -uroot
以下のようなメッセージがでてきました
mysql: unknown variable 'default-storage-engine=innodb'
何が原因なんでしょうか?
解決方法ご存知のかた教えて下さい。
環境はcentos6です。
0018NAME IS NULL垢版2015/03/16(月) 00:22:40.33ID:???
なんだそれ、マジで聞いてんのか?w
どう考えても設定ファイルのdefault-storage-engine=innodbって設定を見なおせって書いてあるように思うが。
/etc/my.cnf調べりゃあるべや
0019NAME IS NULL垢版2015/03/16(月) 22:40:37.92ID:T1yuleOD
>>18
ご回答ありがとうございます
ただ、その設定があることは知っているんですが
何が間違っているのかがよくわかりません。
innodbの設定は間違ってますでしょうか?
0020NAME IS NULL垢版2015/03/16(月) 22:47:10.68ID:TtYhngR8
LinuxでMySQL使うときデータファイルはOSと別パーティションに置いてるんだけど、マウント位置どうしてる?
/varの下に適当に作ってるんだけど、ふと気になった。
0021NAME IS NULL垢版2015/03/17(火) 03:42:58.70ID:???
>>19
設定が[mysql]セクションに入っているとそうなる
そのパラメータは[mysqld]セクションに入っていないとおかしい
0022NAME IS NULL垢版2015/03/18(水) 21:18:48.79ID:UhnswYiu
>>21
ありがとうございます!
0023NAME IS NULL垢版2015/03/19(木) 14:06:28.44ID:???
ビッ○カメラ札幌店の副店長の佐藤伸弦が暴行事件が起きていた

佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦

佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦

佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦

佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦

佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
0024NAME IS NULL垢版2015/03/21(土) 11:40:32.33ID:???
データベースが重くなってきたのでインデックスを作ろうと思っているのですが以下のどちらが参考になるでしょうか?

・エキスパートのための MySQL …
(技術評論社)

・MySQL トラブルシューティング
(オライリー)

データベースはMariaDB 10です。
0025NAME IS NULL垢版2015/03/21(土) 14:22:10.47ID:???
csvをmysqlに自動的にテーブルも作成して読み込ませたいです。

phpmyadminでcsvを読み込むときに自動的にテーブルも作成してくれますが、
mysqlimportやload data infileでは私が調べた限り無理のようでした。

なにかいい方法はありませんか?
csvファイルは100近くあるのでできればphpmyadminのようなGUIではなく、
コマンドラインでどうにかしたいです。
0027NAME IS NULL垢版2015/03/21(土) 15:11:17.85ID:???
>>24
どちらもすでに良く設計されたデータベースの運用のための本であって、
インデックスの作り方のコツなんかは書いてない。

実践ハイパフォーマンスMySQL 第3版(オライリー)
をまずじっくり読むべし。電子版もあるよ。MariaDBでも同じ。
0028NAME IS NULL垢版2015/03/24(火) 10:26:38.51ID:???
>>24
今月出たばかりの「理論から学ぶデータベース実践入門」でもいいんじゃまいか
11章でインデックスの仕組みや種類、適用すべきパターン等それこそ詳しく解説してるぞ
0029NAME IS NULL垢版2015/03/24(火) 13:56:11.92ID:???
>>27
ありがとうございます。
待ちきれずに「エキスパートの…」を買って家に戻った所でレスが…。
(´;ω;`)

あと30分待てば良かったと後悔しつつ
再度本屋に行って「実践ハイパフォーマンス…」を買いました。

インデックスだけでなくレプリケーションも詳しく掲載されていたので助かりました。

>>28
本屋でその本にも目を通したのですが本当に理論の部分が詳しくて私のように「具体的なやり方」を求めている初心者にはハードルが高かったです。
0030NAME IS NULL垢版2015/03/25(水) 17:49:56.20ID:???
>>29
背景となる理論の裏付けがないと勘違いする人多い
みんなDB設計でインデックス設定するよね。でも

DB設計→SQLを書く→インデックスを設ける

が本来あるべき姿
0031NAME IS NULL垢版2015/03/25(水) 23:05:20.94ID:???
あるテーブルの一つのカラムに存在する値の種類一覧を取得する方法ってDISTINCTしかないんですかね?
hoge
hoge
huga
fizz
fizz
fizz
みたいな感じの時に、
hoge
huga
fizz
と返してほしいんです
distinctのいっぺん全取得してから削除ってのは無駄が多い気がするし、かといってexistsで書き換えるのも難しいし…
何か良い方法はないでしょうか?
0032NAME IS NULL垢版2015/03/25(水) 23:22:52.30ID:???
>>31
group byでもできるけど内部処理は多分同じ。
効率を気にするなら最初から第二正規化しとけばっていう話かも。
0033NAME IS NULL垢版2015/03/27(金) 16:06:30.79ID:???
条件結合みたいな方法ってあるのでしょうか?

・ユーザーテーブルのgroup_idが1ならプロフィールテーブルと結合
 OR
・ユーザーテーブルのgroup_idが2なら会社テーブルと結合

と言ったイメージなのですが、ググっても出来そうな気がしません。
もし、ググり方が悪くて出来るのでしたら、結合方法を教えてください。
0034NAME IS NULL垢版2015/03/28(土) 11:25:03.07ID:???
>>33
良い方法はないと思う。UNIONで書けるかどうか考えてみて、
UNIONで書けるようなら、そもそも会社テーブルとプロフィールテーブルを
分けた意味があったのかどうか考えてみよう。

SELECT … FROM user JOIN profile ON user.profile_id = profile.id
WHERE user.group_id = 1
UNION ALL
SELECT … FROM user JOIN company ON user.company_id = company.id
WHERE user.group_id = 2
0035NAME IS NULL垢版2015/03/28(土) 14:09:50.79ID:???
>>34
UNIONで書けません。テーブル名の通り、全く用途(カラムの構成)が違います。
0036NAME IS NULL垢版2015/03/28(土) 14:21:01.12ID:???
じゃあ普通に横に外部結合で足せば?
from ユーザーテーブル
left join プロフィールテーブル on (group_id = 1 and ユーザーIDとなにか)
left join 会社テーブル on (group_id = 2 and ユーザーIDとなにか)
0037NAME IS NULL垢版2015/03/28(土) 17:39:23.24ID:???
>>36
なるほど。つまり、ユーザーテーブルに2つテーブルを結合するんですね。
どっちかのテーブルに値が存在することで「一般会員」と「会社会員」と分けられそうですね。
参考にします。ありがとうございました。
0039NAME IS NULL垢版2015/03/29(日) 07:16:14.45ID:???
なぜ"古いモバイルサイト"がヤバそうだと思い至ったのかがわからない
0040NAME IS NULL垢版2015/03/29(日) 14:53:03.03ID:???
>>38
別にあたりまえの実装だし、照合順序の違いもわからないやつが、
明示的に utf8mb4 を指定するとは思えない。
ましてや古いモバイルサイトが最近実装した utf8mb4 を使って居るとも思えない
0041NAME IS NULL垢版2015/03/29(日) 17:47:59.46ID:???
>>38
そういう文字の検索に対応しなきゃいけない人達は
そもそも _ci の照合順序は使わないんじゃないかな
0042NAME IS NULL垢版2015/03/30(月) 13:04:43.45ID:OtF6Ojbw
こんにちは、質問です。
TINYTEXTとVARCHARの違いはなんでしょうか?
どのように使い分けていいかわかりません・・・
004342垢版2015/03/31(火) 10:46:06.34ID:SnAkx2If
理由はよくわかりませんが、
調べたらVARCHARを使った方が良いとあったのでそうすることにします
TINYTEXTの存在意義って何なんですかねぇ。。。
0044NAME IS NULL垢版2015/03/31(火) 11:16:37.42ID:???
少ないテキスト数で荒らしたい時に使用。
tinyintとかsmallintとかと一緒。
0046NAME IS NULL垢版2015/04/02(木) 15:30:54.71ID:???
SELECTしたデータをWebに表示しているDBがあるのですが、このDBに一定の時間帯でWebでスクレイピングしたデータを取り込むようにしています。

同一サーバー内でデータ挿入用のDB(もしくはテーブル)と参照用のDB(もしくはテーブル)に分けてレプリケーションすると多少は負荷の軽減になりますか?
0047NAME IS NULL垢版2015/04/03(金) 09:00:58.03ID:+nYK766M
  脱会届

平成××年 ×月 ××日 (※文書を書いた日付)
東京都新宿区信濃町32番地
宗教法人 創価学会 理事長 正木正明 殿

私こと○○○○○は宗教法人創価学会を脱会いたします。
今後、私が了解しないかぎり、入会勧誘、及び、支援政党の票依頼等を目的にした、
創価学会員による自宅来訪を一切拒否いたしますので、地域幹部の方々にも、その旨
よろしくご指導のほどお願い申し上げます。ただちに名簿からの削除等、脱会手続きの
迅速な処理を執行願います。

東京都世田谷区○○町○○丁目○番○号(※ご自分の住所)
  ×田○策 印(※氏名)
………………………  例 文  ………………………………

☆★必ず『内容証明郵便』および『配達証明』を使うようにしてください★☆
0048NAME IS NULL垢版2015/04/04(土) 15:31:26.41ID:va98+M7U
テーブル名:access_log
日付列:access_datetime

2015-04-01 15:11:49
2015-04-02 15:11:49
2015-04-03 15:11:49
2015-03-10 15:11:49
2015-03-12 15:11:49
2015-02-03 15:11:49

この場合にgroup化により1日ごとのアクセス数を調べるには
どういうクエリを書けば良いでしょうか?

2015/04  3
2015/03  2
2015/02  2
0049NAME IS NULL垢版2015/04/05(日) 01:08:38.60ID:???
>>48
月ごとだよね?
SELECT YEAR(access_datetime), MONTH(access_datetime), COUNT(*)
FROM access_log
GROUP BY YEAR(access_datetime), MONTH(access_datetime);
0051NAME IS NULL垢版2015/04/06(月) 16:52:40.60ID:???
カテゴリごとのリストページをページングしたいです。

SELECT c_id, c_name, c_spec FROM t_item WHERE c_category = '日本製' ORDER BY c_id DESC LIMIT 61, 60;

offsetを使うと余計なレコードまで取得するので遅くなるとの事です。どのように書けばoffsetを使わずに同じ結果を取得出来るでしょうか?

c_categoryで抽出してc_idで降順に並べ替えた後に新しく連番を振り直す事が出来れば比較演算子(?)を使って解決出来そうな気がするのですがその手段がわかりません。

よろしくお願いします。
0052NAME IS NULL垢版2015/04/07(火) 08:30:28.88ID:???
>>51
c_id がユニークなら
並び替えだけじゃなく読み飛ばしたい行の切り捨てにも使えるよね
0053NAME IS NULL垢版2015/04/07(火) 08:50:09.64ID:???
>>52
c_idはユニークな連番の数字です。
それだと方法があるのですか?
0054NAME IS NULL垢版2015/04/07(火) 10:55:23.85ID:???
INSERT 〜 ON DUPLICATE KEY UPDATE や、REPLACEを使って、
・無ければINSERT
・有れば「とある条件の場合」「まるごと」UPDATE
について考えています
以下、「無ければINSERT」「datetimeが更新されていたらUPDATE」とする例ですが、

INSERT INTO test_table
( unique_key, column_a, column_b, datetime )
VALUES
( 1, 100, 200, '2015-04-01 00:00:00' )
ON DUPLICATE KEY UPDATE
column_a = (
CASE WHEN datetime < VALUES(datetime) THEN VALUES(column_a)
ELSE column_a END),
column_b = (
CASE WHEN datetime < VALUES(datetime) THEN VALUES(column_b)
ELSE column_b END),
datetime = (
CASE WHEN datetime < VALUES(datetime) THEN VALUES(datetime)
ELSE datetime END)

これでも動くのですが、「CASEの判定条件が同じ」「全部VALUESの値で更新」と
なってるのでもっと綺麗なSQLはないかなーと思ってるんですがありませんかね?
(実際はもっとカラムや条件が多くさらに長ったらしくなるので・・・)
0055NAME IS NULL垢版2015/04/08(水) 17:41:56.86ID:???
>>53
SELECT * FROM t ORDER BY id LIMIT 20 OFFSET 60

SELECT * FROM t WHERE id > 60 ORDER BY id LIMIT 20

任意のページには直接飛べない(Nページ目の1番目に来るidが判らない)から
事前にキャッシュを作るなりしてね

>>54
INSERT INTO ...
SELECT (ここを考えて)
ON DUPLICATE KEY UPDATE ...

で条件は一か所にまとめられるけど、あまり見やすくはないかな
005654垢版2015/04/11(土) 09:03:55.25ID:???
>>55
遅くなりましたがありがとうございます
まだイマイチ理解できていないので色々試してみます
0057NAME IS NULL垢版2015/04/12(日) 18:52:29.05ID:???
>>56
>>55の読み飛ばしは、
1ページあたり60件表示でかつ、order by c_id ASCである場合は、
c_idの小さいほうから 60*(ページ番号 - 1) 件は、間違いなく不要となるため
切り捨てることができるという考えかなと。

ただ、c_id DESC だし、データ内容や抽出条件次第で、
たとえば21ページ目を表示するにあたって1200件はじいたところで
焼け石に水になるのは目に見えてるので採用しなくていいと思う。

まずは適切なインデックスを作成することからはじめてみては。
0059NAME IS NULL垢版2015/04/23(木) 17:52:48.81ID:???
PHP5.4+MySQL5.5を使ってます
ユーザーの入力した個人情報を暗号化して保存しようと思うのですが、
どのようなデータ型にすればいいでしょうか?

例えば住所なんかは文字数が長くなることが容易に想定できるので、
それを暗号化して更に文字数が増え、DBに設定したカラムの長さを超えてしまい復号化できなくなる心配があります
可変的な文字列を保存するカラムにしたいのですが、皆様はどういう風に作られていますでしょうか?
0060NAME IS NULL垢版2015/04/23(木) 18:00:05.49ID:???
別に住所が暗号化されてる必要もないとは思うけど
長さはTEXT型にしとけば問題ないじゃない。
検索とか困らない?

個人情報って特定の個人に結びついてる情報が問題なんだから
個人が特定されなけりゃいいんでないの?
006159垢版2015/04/23(木) 18:12:02.12ID:???
>>60
ありがとうございます、検索する予定は今のところないのでTEXT型にしてみます


>個人情報って特定の個人に結びついてる情報が問題なんだから
>個人が特定されなけりゃいいんでないの?
住所はそこに住んでる人がわかってしまうので個人情報だと思ったのですが、違うんですか?
そうであれば電話番号とかも暗号化して保存する必要はないんですかね?
0062NAME IS NULL垢版2015/04/23(木) 18:18:08.63ID:???
誰にでも見える場所に置くの?
それなら暗号化は必要かな。
006359垢版2015/04/23(木) 18:24:24.59ID:???
いえ、万が一の話ですがハッキング等によってDBが流出した場合を想定してのリスクヘッジです
みなさんがどのようにされてるか気になったのでそこも合わせて質問させていただきました
0064NAME IS NULL垢版2015/04/23(木) 18:31:19.39ID:???
プロはどうしてるんだろうね?
自分も同じく初心者だから、エンコードして格納しておけばいいのかな?程度だよね。
たしかに検索するとき不便になっちゃうね。
0065NAME IS NULL垢版2015/04/23(木) 19:24:12.39ID:???
報道されるような流出事件の場合、氏名や住所とかまで流出してるよね。
つまり、それらは暗号化してないことが多いのでは。
もちろん、パスワードは暗号化するのが一般的だろうけど。
0066NAME IS NULL垢版2015/04/23(木) 19:25:23.73ID:???
暗号化にも復号可能な暗号化と復号不可能な暗号化があるのは理解してるの?
パスワードは暗号化してもパスワードとして成立するけど
氏名住所暗号化しちゃダメでしょ
0067NAME IS NULL垢版2015/04/24(金) 10:21:20.92ID:???
やはりそういうものなんすね
0068NAME IS NULL垢版2015/04/24(金) 14:15:57.83ID:???
>氏名住所暗号化しちゃダメでしょ

いやこれ復号可能な暗号化前提でしょ
じゃないと保存する意味がない。それくらい読み取ろう

で、暗号化はMySQL側でやる手もある
AES_ENCRYPTならBlob型にすればおk
更にHEXを使えば文字で扱えるがVARBINARYもアリ
その場合は元の2倍くらいの長さを確保しておけば良い
0069NAME IS NULL垢版2015/04/24(金) 16:01:14.07ID:???
>>66
分かって書いてると思うけど、複合不可のものは暗号とは言わないよ。MD5とか
0070NAME IS NULL垢版2015/04/24(金) 16:08:35.78ID:???
>>68
復号可能な暗号化前提だとパスワードの暗号化って部分でおかしくなるんだよな
0071NAME IS NULL垢版2015/04/24(金) 20:58:08.53ID:???
>>65
暗号化と言っても、ディスク、通信レイヤー、データベースファイル、アプリケーション‥‥どこに適用するかによって、守れるもの、守れないものがあるやね。
0072NAME IS NULL垢版2015/04/24(金) 23:58:08.58ID:???
>>69
こいつバカだろ
勉強しなおして来い
0073NAME IS NULL垢版2015/04/25(土) 00:00:16.10ID:???
59はパスワードなんて一言も言ってないのに、突然パスワードがーって言い出す低脳な奴がいるなw
0075NAME IS NULL垢版2015/04/27(月) 21:21:02.97ID:???
結局、どれが一番プロの方からすると正しいんでしょうか?
0076NAME IS NULL垢版2015/04/27(月) 21:29:12.28ID:???
ハッシュ化だね

この場合なら暗号化で意味通るけど
0077NAME IS NULL垢版2015/04/27(月) 21:43:13.44ID:???
>>76
ハッシュ化で調べたたら有用な情報がぞろぞろ出てきたっす。
ありがとうございます。
0078NAME IS NULL垢版2015/04/28(火) 02:11:50.11ID:???
不可逆な暗号ってなんだよと数年前にも話題になってたな
0079NAME IS NULL垢版2015/04/28(火) 16:33:26.26ID:???
個人情報など後で利用するものをハッシュ化するって・・・無知も程ほどにしておけ
0080NAME IS NULL垢版2015/04/28(火) 16:34:39.12ID:???
パスワードはハッシュ化して入力値と照らし合わせることができるが、
>>73も言ってるがパスワードの話なんてしてないだろ
0081NAME IS NULL垢版2015/04/28(火) 16:41:40.26ID:???
>>69の流れで>>76書いたんだけど
ややこしかったかな

一つの質問から話が派生していくことなんてよくあると思うけど、頑なに>>59がそんな話してない!って言うのはどうして?
0082NAME IS NULL垢版2015/04/28(火) 20:16:37.04ID:???
>>66 があいまいな文章を書いたのがきっかけじゃないのかな
0083NAME IS NULL垢版2015/04/29(水) 21:32:40.84ID:???
ver 5.6.20です

初歩的なんでしょうがちょっと教えて下さい。DBに誰が何時ログインし、どのデータベースにアクセスしたとかの追跡はバイナリログを設定し、
そこから…になるんですか?
別に深い意味は(今んところは)無いのですが
0085NAME IS NULL垢版2015/04/30(木) 16:03:30.53ID:???
>>84
ありがとうございます。ログの種類について確認しなおさんといかんですね
それにしても商用はやはりそれなりの価値があるんですねw
0086NAME IS NULL垢版2015/05/01(金) 00:47:08.06ID:???
5.6がなんもしなくてもメモリを300M使ってるんですが
そういうもんですか?
0087NAME IS NULL垢版2015/05/01(金) 10:06:30.33ID:???
googleのmysql魔改造に関する論文ありますか?
0088NAME IS NULL垢版2015/05/01(金) 12:39:27.19ID:???
>>86
5.6で機能強化されたPerformance Schemaがメモリをバカ食いするので、
VPSなどメモリが少ない環境ではOFFにしてもよいかと。
[mysqld]
performance_schema = OFF
0089NAME IS NULL垢版2015/05/01(金) 20:54:39.50ID:???
ありがとうございます
なんか気持ち悪かったんで
0090NAME IS NULL垢版2015/05/08(金) 19:12:29.86ID:G5X7K9US
UNIXドメインソケットだけじゃなくて ネットワークでも待ち受けさせるのって
my.cnf に何書けばいいんだっけか
0091NAME IS NULL垢版2015/05/09(土) 10:26:32.26ID:???
>>90
bind_address
ただデフォルトでネットワーク待ち受けしてるはずだけど
0092NAME IS NULL垢版2015/05/09(土) 13:53:21.07ID:???
>>91
ありがとう
デフォルトで待ち受けしてたわ
ファイアウォールで閉じてた
0093NAME IS NULL垢版2015/05/10(日) 17:00:54.40ID:2UfCeeEm
外部キー みたいに連携しているキーで、でも制約は無い状態のキーのことを
なんと呼べばいいの? 外部キーでいい?
0094NAME IS NULL垢版2015/05/10(日) 20:39:10.92ID:???
制約のない外部キーってのがよくわからん
0095NAME IS NULL垢版2015/05/10(日) 21:47:54.65ID:???
制約があるから連携していると言えるんであってそれが無いんだったら単にカラムが一致してるってだけなんでは?
0096NAME IS NULL垢版2015/05/13(水) 17:57:46.39ID:???
workbenchの6.3.3、ファイルパスに日本語があると保存できなくない?
6.2.4で修正済みになってるのに直ってないわこれ
0097NAME IS NULL垢版2015/05/14(木) 15:08:04.11ID:???
>>95
連携はしてるけど制約はしてない状態。
0098NAME IS NULL垢版2015/05/15(金) 01:15:05.94ID:???
>>97
だから、それが外部キーなのかと。

MySQLの狭義の外部キーではない、
と俺は思う。
話の中で、外部キーといって
制約がないとか言われたら、
混乱必至。
0099NAME IS NULL垢版2015/05/15(金) 12:53:43.17ID:???
>>98
だから外部キーではないよ。 それは最初から言ってる。
0100NAME IS NULL垢版2015/05/15(金) 17:11:29.65ID:BSFdDh6Z
キーじゃない
0101NAME IS NULL垢版2015/05/15(金) 17:45:07.11ID:???
そのテーブル内ではキー
0102NAME IS NULL垢版2015/05/15(金) 20:40:12.36ID:???
>>99
あなたが繰り返し言ってる「連携している」ってのは具体的にどういうこと?一致している以上に具体的な何かがあるんだよね
それを言ってよ

それが言えないんだったら俺様用語を勝ってに振り回してろとしか言えんよ
0104NAME IS NULL垢版2015/05/16(土) 12:57:35.46ID:???
とりあえずcleate tableを晒してよ
0105NAME IS NULL垢版2015/05/16(土) 15:40:40.15ID:???
○具体的に言え
×英訳しろ
0106NAME IS NULL垢版2015/05/16(土) 15:51:53.20ID:???
cleateって何なのか考えこんじゃったわ
0107NAME IS NULL垢版2015/05/16(土) 17:35:49.89ID:???
ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near 'cleate table
0108NAME IS NULL垢版2015/05/17(日) 06:33:33.11ID:TEQ308yD
制約しないで連携ってどうやんの?
0109NAME IS NULL垢版2015/05/17(日) 17:44:19.24ID:???
dead lockに関する質問です。
mysql version: 5.6.12
tx_isolation: REPEATABLE-READ

create TABLE tmp ( id bigint(10) NOT NULL auto_increment, name varchar(128) NOT NULL, PRIMARY KEY(id),UNIQUE KEY uk_name (name)) ENGINE=InnoDB;
insert into tmp values (null, "20");
insert into tmp values (null, "30");

この状態から以下の手順を1,2,3,4,5と実施すると手順5でdeadlockが発生します。
こちらの原因はなんでしょうか?

トランザクション1
手順1
begin;
手順3
insert into tmp values (null,"30"),(null, "35") ON DUPLICATE KEY UPDATE name = VALUES(name);
手順5
insert into tmp values (null,"10"),(null, "11") ON DUPLICATE KEY UPDATE name = VALUES(name);

トランザクション2
手順2
begin;
手順4
insert into tmp values (null, "20"),(null,"25") ON DUPLICATE KEY UPDATE name = VALUES(name);
0110NAME IS NULL垢版2015/05/17(日) 17:55:16.57ID:???
外部キー制約をテーブルに定義しなくても結合はできるからそういうことでしょ
0112NAME IS NULL垢版2015/05/18(月) 01:50:29.06ID:???
>>109
insertとupdateしかしてないのにほんとかよとか思ってやってみたら再現したw
なにこれw
0113NAME IS NULL垢版2015/05/18(月) 07:35:54.63ID:???
> name = VALUES(name);

何をしたいのコレ?
0114NAME IS NULL垢版2015/05/18(月) 09:01:09.60ID:???
>>113
データが存在するしないに関わらずデータを更新または挿入するためです
こちらのことサンプルではほぼ無意味ですが、問題を簡素化して抜き出したものです
0116NAME IS NULL垢版2015/05/18(月) 15:54:30.71ID:???
JOIN してるだけで外部キーとか言わない方がいい、混乱するだけ
0117NAME IS NULL垢版2015/05/18(月) 16:23:54.41ID:???
制約かけるかどうかは置いといて
そのキーを使って結合出来るならそれは外部キーでしょ
0118NAME IS NULL垢版2015/05/18(月) 16:25:07.44ID:???
そのキーを使って じゃなかった
その属性を使って
0119NAME IS NULL垢版2015/05/18(月) 17:45:42.36ID:???
普通はそういう使い方しないから
0120NAME IS NULL垢版2015/05/18(月) 18:27:22.89ID:???
外部キーみたいに
って最初から書いてるんだけどそこはスルーなのかな
0121NAME IS NULL垢版2015/05/18(月) 20:45:17.16ID:???
俺様用語好き勝手に振り回しておけ、ヴァカ
0122NAME IS NULL垢版2015/05/18(月) 21:18:17.59ID:???
そもそもJOINでカラム指定するのは制約だろ
0124NAME IS NULL垢版2015/05/18(月) 23:23:10.72ID:???
名乗るほどのもんじゃありやせん
0126NAME IS NULL垢版2015/05/20(水) 10:59:42.09ID:wCVHStg9
先頭1文字がAとかBとかの製品名一覧を作りたいのですが
「WHERE productname like 'A%'」とするとAで始まるもの見つかるのですが
「あいうえお」みたいな関係ないものまで見つかってしまいます
これは何が原因なのでしょうか
0127NAME IS NULL垢版2015/05/21(木) 13:20:38.73ID:???
コンピュータの全ての分野を網羅したい場合、何学科に行くのが良いでしょうか?
情報科学科?電気電子工学科?物理学科?
0128NAME IS NULL垢版2015/05/21(木) 14:09:23.16ID:???
行くとこ行くとこにこの質問貼ってあってイラっとくるな
0129NAME IS NULL垢版2015/05/22(金) 00:37:52.30ID:6HZuhnNx
質問させてください

テーブル rank に id good bad の3つのフィールドがあります
good - bad を計算して id のランキングを select するにはどうしたら良いでしょうか?
よろしくお願いします
0130NAME IS NULL垢版2015/05/22(金) 07:31:02.87ID:???
select id from rank order by good-bad;
0131NAME IS NULL垢版2015/05/22(金) 10:54:35.33ID:6HZuhnNx
>>130
できました
ありがとうございます!
0133NAME IS NULL垢版2015/05/27(水) 12:58:31.25ID:???
>>109
暗黙にロックがかかってるんでしょ。

INSERT ... SELECT ...でもロックが
かかるときがあるし、
MySQL(InnoDB)のくせと思うしか
ないのでは。
0134NAME IS NULL垢版2015/05/28(木) 16:32:07.98ID:xXdnP8KR
節子、それバグや
0135NAME IS NULL垢版2015/06/16(火) 19:50:04.29ID:taWzsqn+
100個のデータの相関関係を管理する
テーブルを作成しようと
id,code1,code2,soukankeisu
のようなテーブル定義を考えています。
これだと相関関係を更新する際に何度もselectしなければならず、時間がかかりすぎるのでは?と考えています。
何か方法はありませんか?
0136NAME IS NULL垢版2015/06/16(火) 21:05:42.91ID:???
DB設計を語るスレに行った方が良いんじゃね
0137NAME IS NULL垢版2015/06/16(火) 21:12:30.78ID:taWzsqn+
>>136
ありがとうございます。行ってきます。
0138NAME IS NULL垢版2015/06/17(水) 19:42:10.31ID:???
全角数字、全角英字、全角ひらがな、全角カタカナ、漢字以外の文字が文字列内に含まれるか否かを判定したいです。
下記select文で書くとすると、'?????'の箇所はどのような記述をすればよいでしょうか。

select '文字列' regexp '?????'
0139NAME IS NULL垢版2015/06/18(木) 01:58:39.49ID:???
>>109
手順3で name="30" を INSERT した時に、uk_name インデックスにおいて name="30" の参照先(PK)が
新しい id に変わるじゃないですか。それによって、uk_name インデックスの name=20〜30 の間に
ギャップロックがかかってるみたいです。

ですので、手順4で name="20" or name="25" を入れた時にロックの解除を待ち続けてしまうわけです。
なお、name="15" とか name="40" とかはギャップロックの範囲外なのですぐに INSERT できます。

uk_name はユニークキーなので、ロックをかけなくともファントムリードは起きえない
気がするのですが、なんでギャップロックを取ってるのかはよくわかりません... だれか教えて

なおこの不具合は、分離レベルを READ-COMMITTED にすると発生しません。
0140NAME IS NULL垢版2015/06/18(木) 12:58:57.38ID:???
>>139
仕様だろ。
コストに配慮して、広くロック
しちゃうんだろ。
0141岡村隆史「嫌なら見るな」垢版2015/06/27(土) 07:21:04.81ID:???
新聞購読を止めて、月3000〜4000円、年間36000〜48000円の節約

新聞にそのような金を払う価値はない

ただでさえ要らない
なぜなら新聞は国民の方を向いておらず、広告主のための報道しかしないからだ

それに金を払って購読することは自らの首を絞める自殺行為に等しい
0142NAME IS NULL垢版2015/07/09(木) 21:02:21.42ID:???
確かInnoDBって普通の行updateでもテーブルロックかかるよね。
where句でindexじゃないカラム指定してるとフルスキャンでテーブルロックされるとか
0143NAME IS NULL垢版2015/07/10(金) 12:51:35.54ID:???
>>142
インデックスがないならしかたない。
ロック対象レコードを特定してる
時間は読めないししても不毛かも
しれないし。

悪くない判断だと思うけど。
0144NAME IS NULL垢版2015/07/12(日) 15:11:27.18ID:2ss2dn5o
以下のテーブル(1行分)を出力するためには
どのようなクエリをかけばよいですか?

列1:1
列2:2
列3:3
0145NAME IS NULL垢版2015/07/12(日) 16:04:06.12ID:2ss2dn5o
すいません
行と列間違えました

以下の3行分です
行1:1
行2:2
行3:3
0146NAME IS NULL垢版2015/07/12(日) 16:46:47.00ID:m/JNPpU7
テーブルのカラム名とデータはどうなっているの?
0147NAME IS NULL垢版2015/07/12(日) 18:41:44.05ID:???
select 列1 from テーブル where 列1 in (1, 2, 3)
0148NAME IS NULL垢版2015/07/13(月) 00:13:20.95ID:???
>>146
カラム名はどうでもいいです
テーブルはありません
0150NAME IS NULL垢版2015/07/13(月) 02:17:22.41ID:???
>>149
select 1
union
select 2
union
select 3
これでできるかな?
0152NAME IS NULL垢版2015/07/13(月) 11:15:49.40ID:???
ありがとうございました!!
0153NAME IS NULL垢版2015/07/14(火) 01:48:01.87ID:???
>>151
同じ事をSQLServerでかくとどうなりますか?
0154NAME IS NULL垢版2015/07/14(火) 12:16:42.98ID:???
>>153
PostgreSQLだと全く同じで行けたけどSQLiteは無理だったな。
SQLServerはそのままじゃ無理なん?
0155NAME IS NULL垢版2015/07/14(火) 13:53:31.06ID:???
バージョン次第かもね。
とりあえず、複数行insertするときのやり方を切り取れば、そのRDBMSにおける>>145の答えになるよ。
0156NAME IS NULL垢版2015/07/15(水) 10:33:12.49ID:???
ありがとうございました
0157NAME IS NULL垢版2015/07/20(月) 20:25:51.50ID:???
XamppのMySQLを使うとローカル接続でもタイムアウト連発して使い物にならない
SQLiteで動いてたコードを移行しただけだから別に重たい処理はしてないのにな
よくこんな欠陥品が標準で使われてるもんだ
0158NAME IS NULL垢版2015/07/20(月) 20:43:14.61ID:???
重たい処理をしてないならそんなことになるわけない
安いノートでも動くぞこんなん
0159NAME IS NULL垢版2015/07/20(月) 20:52:02.79ID:???
>>158
ネットワーク接続してないからだろう
コアの部分がそれなりに作られてても周辺ツールがまるで素人の作ったゴミだ

SQLiteに比べて排他制御に優れてるというから試しに浸かってみたら
排他制御どころかクエリを同時に叩くだけでエラーになるから自前で排他制御を作る羽目になるし
戻り0行のSQL分を叩くだけでタイムアウトになるアホさ加減だ

大小比較分が3つ以上並んだらそうなる
最適化されたDBなら所要時間は単純に3倍で済むロジック量だけど
MySQLは内部構造が完全にイカレテル
0160NAME IS NULL垢版2015/07/20(月) 20:58:41.78ID:???
他の人間が検証可能な形でサンプル示してみて
0161NAME IS NULL垢版2015/07/20(月) 23:11:27.11ID:???
>>160
.NetのMySQL.Data.MySQLClientを使って127.0.0.1に接続
テーブルは適当に数字の項目を持たせて10万レコード以上
この状態で「A>10 and B<100 and C=1」みたいな条件で検索するとタイムアウトで死亡する
そもそもMySQLDataReaderを完全に閉じないと同じコネクションで2個目のDataReaderが使えない時点でアホみたいだけど
10万レコードで「oder by A limit 100」ならオンラインじゃなくても死ぬぞ
もうなんだこれ
0162NAME IS NULL垢版2015/07/21(火) 02:57:53.66ID:???
>>161
テーブルにプライマリキーとかインデックスとか設定してる?
mysqlサーバの設定見直した?
つか内部構造がどうこう言う前に、まずどこがボトルネックになっているか調査しようよ。
0163NAME IS NULL垢版2015/07/21(火) 08:42:41.47ID:+XYaJ69c
初心者が通る道だな
必ず解決するから、あきらめないようになw
0164NAME IS NULL垢版2015/07/21(火) 11:37:37.69ID:???
>>162
当たり前だろ
だから言ってるだろ
大小比較を3つ以上並べるのがボトルネックだと
2つなら一瞬で終わる
エンジンそのものか,Net用クライアントのバグってことだろう
日本語を使わないものも試したから文字コードのせいでもない

問題の切り出しをすべてやった上で使えないから頭に来てるだけ
0165NAME IS NULL垢版2015/07/21(火) 12:12:10.62ID:???
Sqliteで運用してるものを移行してるって時点でテーブル構造やSQL文に問題がないのは分かるだろうに
いかにも言いだから一応行っておくと127.0.0.1だから名前解決が〜とか意味不明な返しは要らないから
0166NAME IS NULL垢版2015/07/21(火) 12:12:58.43ID:???
いかにも言いそうだから
0167NAME IS NULL垢版2015/07/21(火) 12:31:21.46ID:???
手元にあったら一瞬で解決してやれるけど
間にわけわからんのがいると難しいわな
0168NAME IS NULL垢版2015/07/21(火) 12:42:10.78ID:???
mysqlの設定を間違えてるとしか思えない
0169NAME IS NULL垢版2015/07/21(火) 12:43:42.70ID:???
>>164
要するにお前のスキルが低すぎるんだよ。
素直に教えを請えばいいものを、頭も悪いんだな。
0170NAME IS NULL垢版2015/07/21(火) 12:55:42.66ID:???
解決なら分かってるから必要ない
MySQLは使わない
0171NAME IS NULL垢版2015/07/21(火) 13:45:54.50ID:???
スキーマもクエリプランもデータの統計値わからないので、話のしようがないね
0172NAME IS NULL垢版2015/07/21(火) 14:24:11.30ID:???
いっぱいつれたね、解散
0174NAME IS NULL垢版2015/07/21(火) 16:32:41.27ID:???
そういえば、MySQLって今でもインデックスは一度にいっこしか使えないんだっけ?
あれって改善されたりした?
0175NAME IS NULL垢版2015/07/21(火) 16:46:45.36ID:???
引き継いだデータベースのあるテーブルにidのカラムがないのはなんか意図があるのかなあ
追加してもいいよね
0176NAME IS NULL垢版2015/07/21(火) 19:03:33.64ID:???
そんなもん、ここで聞かれたって返答のしようがあるか、バカ
好き勝手にしろ
0177NAME IS NULL垢版2015/07/22(水) 19:00:55.80ID:???
>>165
> いかにも言いだから一応行っておくと127.0.0.1だから名前解決が〜とか意味不明な返しは要らないから
そんなことを言い出しそうだと思いつく時点で、よほど斜め上の発想をする人かなぁと思ってしまう

>>164
> エンジンそのものか,Net用クライアントのバグってことだろう
> 問題の切り出しをすべてやった上で使えないから頭に来てるだけ
切り出しはできるけど切り分けはできないってことかい?
0178NAME IS NULL垢版2015/07/23(木) 16:48:16.30ID:???
>>164
MySQLの負の特徴である「一度にひとつのインデックスしか使わない」に
モロ引っ掛かってるだけじゃない?
インデックスの張り方を工夫するか、条件式を工夫するかしないとダメだろ。

いちいち仕様に切れてるようじゃ技術者としては三流だね。
仕様は乗り越えるものだぜ。
0179NAME IS NULL垢版2015/07/23(木) 16:58:39.55ID:E02H2Gyi
ここで文句を言うよりも、再現できるサンプルを公開して、
どうやって最適化したら良いかを聞いたらいいのに。
その方が得るもの多いと思った。
0180NAME IS NULL垢版2015/07/23(木) 17:17:22.77ID:???
>>177
Lightが本家に文句をつけてる時点でネタ
0181NAME IS NULL垢版2015/07/23(木) 21:43:07.40ID:???
1分1秒で金稼ぎしてる人間だから初期設定状態でSqliteに劣る時点で使えないゴミでしかないよ
RDMSを名乗る資格はない
0182NAME IS NULL垢版2015/07/23(木) 21:46:20.48ID:???
馬鹿につける薬はないw
0183NAME IS NULL垢版2015/07/23(木) 22:27:00.19ID:???
そんな人間は自分が使うんじゃなく、使える人間を使う立場にいるべきなんじゃ
0185NAME IS NULL垢版2015/07/23(木) 23:19:39.73ID:???
機能を絞れば速くなるにきまってんだろう(笑)
0186NAME IS NULL垢版2015/07/24(金) 14:03:12.78ID:JCOynULd
lightで間に合う仕事なんだよ、きっと
0187NAME IS NULL垢版2015/07/28(火) 10:28:25.33ID:???
ストアドプロシージャで変数の@が付いてる時と付いてない時の違いがよくわかりません
@をつけるとユーザ変数を参照するということはググってわかったのですが、
@をつけてない時でもユーザ変数を参照してるんじゃないのでしょうか?
わかりやすく教えて下さい
0188NAME IS NULL垢版2015/07/28(火) 12:59:50.37ID:???
値渡しと参照渡しの話では
0189NAME IS NULL垢版2015/07/28(火) 17:24:44.83ID:???
よくわかりませんが、@をつければdeclareしなくても使えたので
そういうもんだと思っときます
ありした
0190NAME IS NULL垢版2015/07/28(火) 18:16:37.77ID:???
読むだけなら@無しでいいけど、渡した先で書き換えるなら@必要、ということでは
0191NAME IS NULL垢版2015/07/28(火) 19:06:57.04ID:???
>7. ストアドプログラムを多用しない
>残念ながら、MySQLはストアドプロシージャ、ストアドファンクション、トリガなどの性能はあまりよくない。
>出来るだけそれらを利用せずに、ロジックをアプリケーション側に持っていくといいだろう。
http://nippondanji.blogspot.jp/2009/02/mysql10.html

全く使わない方がいいのかそれとも実行してタイムを計ってみるべきか?
0192NAME IS NULL垢版2015/07/28(火) 19:14:07.13ID:???
>>189
プログラミング経験がないならそう書いてくれればよかったのに
0193NAME IS NULL垢版2015/07/31(金) 00:30:13.84ID:???
インターネット上にあるmysqlを使った自作の掲示板やブログのデータを定期的(1日一回程度)にバックアップ取る場合、どう言う手法がお勧めですか?そのホストは自分で管理しているとして。OSはWindowsのサーバー系で。バックアップ先は、自宅のwin7パソコンに。
0196NAME IS NULL垢版2015/07/31(金) 13:38:50.11ID:???
>>194
このコマンド、ネットワーク経由でバックアップ出来ますか?
0197NAME IS NULL垢版2015/07/31(金) 14:09:21.76ID:???
できるけど、バックアップはDBのある場所でcron使って
できたファイルをftpでもってきては
0198NAME IS NULL垢版2015/07/31(金) 14:10:25.95ID:???
cron、、Windowsだからatもしくはタスクスケジューラ
0199NAME IS NULL垢版2015/07/31(金) 22:47:38.03ID:???
MySQLもDBも初心者なんですが、WordPressとMySQLインストールしたんですが、WordPressでブログ書いて文字や画像貼り付けたらそういうデータ全部がMySQLのDBデータに保存されているんですか?
0200NAME IS NULL垢版2015/08/01(土) 16:53:56.67ID:???
>>199
はい。アップロード処理があるのは、DBに格納しているからです。
0201NAME IS NULL垢版2015/08/01(土) 20:44:17.14ID:???
>>200
データベースって画像データでも文字データでも何でも保持出来るんですか。
知らなんだ。
0202NAME IS NULL垢版2015/08/01(土) 21:45:59.90ID:???
データベースなんだからデータと名のつくものはなんだって保持出来るだろ。
むしろ何故出来ないと思ったのか。
0203NAME IS NULL垢版2015/08/01(土) 23:00:22.41ID:???
>>199
画像はDBには保存されない。
確かuploadディレクトリにファイルとして保存される。
0204NAME IS NULL垢版2015/08/01(土) 23:01:07.67ID:???
>>202
MySQLはバイナリファイルは苦手なんじゃないかと。そんなこと無いか。
ところでデータベースのデータって様々なデータがひとつの巨大なファイルになっているんですか?
0205NAME IS NULL垢版2015/08/01(土) 23:04:06.68ID:???
>>203
バックアップで
mysqldump
使うとそういう画像データもdumpにまとめられるんですね。
0206NAME IS NULL垢版2015/08/01(土) 23:11:46.41ID:???
>>205
いや、まとめられない。
だから、uploadディレクトリをftpなどで別にダウンロードする。

つーかWordPressスレで聞いたほうが正しいアドバイスを貰えるよ。
0207NAME IS NULL垢版2015/08/01(土) 23:22:18.27ID:???
データベースに画像を保存しようかと思ったらメモリを
食うから止めた方がいいという記事を見たけど
データベースサーバーを分けて画像専用にすれば問題ないよな?

パフォーマンスが要求されるデータは容量を絞ってメモリに載るようにして
遅くても問題ない画像は専用のデータベースサーバのように。
0208NAME IS NULL垢版2015/08/01(土) 23:29:36.29ID:???
>>207
詳しい解説有難うございます。
でも私の場合、単なるレンタルサーバー1台なんで、複数のサーバーでの構成は難しいです。定期的にzipにまとめてftpで転送するのが簡単かな。より高度な手法は徐々に勉強します。有難うございました。
0209NAME IS NULL垢版2015/08/02(日) 00:32:26.15ID:???
>>200
> アップロード処理があるのは、DBに格納しているから
この理論と、DBがなければアップロード処理はできない、は両立するはずだよね
0210NAME IS NULL垢版2015/08/07(金) 15:18:13.38ID:mK3J0ba5
PDOなどで
select * from HOGE where VAL in (?,?,?,?);

この in の対象を増やしたいときには ? の数を増やす
つまりクエリを動的生成する必要があるけどダサいよね
回避策ある?
0211NAME IS NULL垢版2015/08/07(金) 15:42:28.00ID:pQIyg0db
何でそういう使い方をしたいと思った?
0212NAME IS NULL垢版2015/08/07(金) 15:53:23.36ID:???
>>211
アンケート画面でチェックされた項目を含むレコード一覧取得
をやりたかった
0213NAME IS NULL垢版2015/08/07(金) 16:31:37.91ID:pQIyg0db
検索条件が可変でその都度変わるなら、query使う方がいいんじゃ?
0214NAME IS NULL垢版2015/08/07(金) 19:54:11.81ID:???
>>210
 パフォーマンス比較はしてないから使い物になるかどうかは不明だけど、

WHERE MATCH(VAL) AGAINST(? IN BOOLEAN MODE)

とか。
0215NAME IS NULL垢版2015/08/08(土) 00:08:09.13ID:???
>>210
知る限りないので我慢して動的生成する。

>>214
パフォーマンスの観点を除外したとして、
前提条件をいくつかつければ使える場面もあるだろうけど、基本的には使い物にならない。
0217NAME IS NULL垢版2015/08/10(月) 22:59:49.12ID:???
何かアドバイスお願いします。
WordPressとMySQLをIISサーバーにインストールしたのですが、
いちおう動いているのですが、何となく動きが遅いんです。
どのページを開いても読み込みに2〜5秒掛かります。

WordPressやMySQLのインストールは初めてで、全部デフォルト設定で
入れました。
何か設定を変更すれば速くなる可能性があるなど、アドバイスありましたら
教えてください。
0218NAME IS NULL垢版2015/08/11(火) 00:11:15.45ID:???
>>217
MySQLが遅い = クエリの応答時間が長いならこのスレ。
そうじゃないならスレ違い。
0219NAME IS NULL垢版2015/08/11(火) 00:19:30.15ID:???
>>218
今、サーバーから10MBytesのテキストファイルダウンロードしてみたら2秒くらいで
出来ました。なのでMySQLが遅いように思います。
MySQLの設定ファイルなどで何かチェックする項目など教えてください。
サーバーはMEM 2GB のマシンで、1.5GBが使用中になっています。
他に何も動かしていません。IISサーバーのみです。
0220NAME IS NULL垢版2015/08/11(火) 00:50:50.05ID:???
>MEM 2GB

これは、増やせないのか?
0221NAME IS NULL垢版2015/08/11(火) 01:04:38.67ID:???
>>220
レンサバなんでアップグレードすれば可能ですが、今はその選択肢は無いという前提でお願いします。
0226NAME IS NULL垢版2015/08/11(火) 19:28:32.64ID:???
ひとつのクエリにひとつのインデックスしか使われないんですか?
0227NAME IS NULL垢版2015/08/11(火) 19:39:37.57ID:???
>>225
遅いときに発行されてるクエリを
順番に手で実行しようぜ
0229NAME IS NULL垢版2015/08/12(水) 16:26:38.22ID:???
XAMPPインストールして、Apacheの「Admin」をクリックしたのですが、「XAMPP for Windows」のページに移動しません。
http://localhost/xampp/index.php を手打ちして移動しても、「Object not found」のページが出ます。
どうやればXAMPPのユーザー認証を設定できるんでしょうか
0230NAME IS NULL垢版2015/08/14(金) 09:12:39.22ID:iAQz3mpj
これMySQLの質問なの?
0231NAME IS NULL垢版2015/08/14(金) 13:42:46.01ID:???
そうだ! 俺が・・・俺たちが・・・ MySQLだッ!!
0232NAME IS NULL垢版2015/08/14(金) 14:27:22.13ID:???
>>229
設定の問題かと思うよ。XAMPPはワンセットで全部入れてくれるし、ファイルの関連性の問題は基本起こらないハズなんでMySQLのせいじゃないはず。
それ、PHPMyAdminでしょ?ローカルで苦労してるようだけど、サーバーだともっと大変だよ。レンタルなら制限多いけど最初から入ってて楽かもしれないけど。
多分、php.mycofとかmy.iniとかPHPに入ってる系統のファイルでAdmin関係の関連をONにしてやらないと動かない場合多いよ。XAMPPでもそこは書き換える必要があったかも。

勝手に入ってくれてるハズだよね、Adminそのものは。
調べて試行錯誤の連続しかないと思うよ、初心者は。そこから原因推測するのは難しいな。多分、上記の部分だと思うけど。
0233NAME IS NULL垢版2015/08/19(水) 19:13:43.67ID:rx2abUdd
Mysqlをcakephpで使ってるんだけど、設定サーバ移行のため、エクスポートしてインポートしようかと
思ってやってたらERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
みたいのが出るからエクスポートするデータをみてみたら実データではなく
INSERT INTO `テーブル名 (`カラム名`, `カラム名`, `カラム名`)みたいなゴミデータが
入ってるんだけどこれはどういうことなんだろう....
0234NAME IS NULL垢版2015/08/19(水) 22:17:54.62ID:XeJs6K14
教えてください!
mysql5.1をwindowsで使用しています。
javaで書かれたプログラムからdelete文(約200万レコード対象)を発行したところ、
エラーとなりました。
その後、プログラムを修正し再実行したのですが、数秒で終わる更新処理が
なかなか完了しないという状態になってしまいました(selectは普通)
さらには起動、停止も時間がかかるようになってしまいました。
現在はtaskkillで強制終了しています。
以下がログになります。

・強制終了時
150819 21:58:43 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 45 705396736
↑が数行続く
InnoDB: 1 transaction(s) which must be rolled back or cleaned up
InnoDB: in total 697218 row operations to undo
InnoDB: Trx id counter is 0 2753280
150819 21:58:50 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 .... 99
InnoDB: Apply batch completed
InnoDB: Starting in background the rollback of uncommitted transactions
150819 21:59:49 InnoDB: Rolling back trx with id 0 2750566, 697218 rows to undo

処理速度を以前の状態に戻したいのですが、どのような方法がありますか?
0236NAME IS NULL垢版2015/08/22(土) 18:37:24.84ID:JMOdwUTh
スナップショット的なものを取りたいんだけどどうしたらいい?

毎回mysqldumpしたのを戻すのはちょっと格好が悪い気がするので
もう少しエレガントな方法を知りたい
0237NAME IS NULL垢版2015/08/23(日) 10:09:42.72ID:???
ファイルシステムとエンジンによる
ファイルシステムにその機能があれば、スナップショット取って戻すときはリカバリ
もしくはスナップショット取る瞬間だけロック

ってそんなに戻す機会あるの?
テスト環境用に構築するだけならダンプでいいべ
0238NAME IS NULL垢版2015/08/23(日) 14:50:28.43ID:???
>>237
コーディング中のトライアンドエラーで使いたいと思った。
無いならダンプで済ますわ。
0239NAME IS NULL垢版2015/08/27(木) 23:15:24.63ID:OS5LUCOu
こんばんは。こんな総合サイトがあるとは知りませんでした。スレ立て様ありがとうございます。

すみません、sqlインジェクションに大きな懸念があるmysqlを使用しようとするものです。sqlインジェクションに関して比重を置いたオススメの参考書はありませんか?
ネットで探してもアフィ目的?でわかりません。ここの皆様ならご存知かと思いました。お願いします。
0240NAME IS NULL垢版2015/08/28(金) 00:06:28.21ID:???
別にmysqlだからって話でもないと思うけど。
とりあえず徳丸本読んでおいて損はないよ
0241NAME IS NULL垢版2015/08/28(金) 00:19:05.34ID:???
大きな懸念てどこ情報なんだ?
0242NAME IS NULL垢版2015/08/28(金) 00:34:18.28ID:???
いや、大きな懸念があるような方法での使用をせざるを得ないから、少しでもリスクを下げる方法を知りたいっていうことじゃないの
0243239垢版2015/08/28(金) 03:17:05.61ID:G688diT4
レスありがとうございます!
徳丸本調べてみます!
大きな懸念とは単に脅威だからです。ネットで防ぐ方法が書いてありましたが、本当にそれだけで平気なのかと考えましたので。
0244NAME IS NULL垢版2015/08/29(土) 02:31:07.70ID:???
もうちょっと釣針研いでから来いよ
0246239垢版2015/08/29(土) 21:41:58.86ID:72Aeb8uO
徳丸本読んでます!
sqlインジェクション以外もスゴイいいです!知らなかったコエーがいっぱいあります!ありがとうございます。
他にセキュリティに関して必読書ありますか?
0247NAME IS NULL垢版2015/08/30(日) 00:40:57.32ID:???
>>245
インジェクションの話の時点でmysql以外の話になるのはしょうがない。つまりスレ違いなわけだ。
0248NAME IS NULL垢版2015/08/30(日) 13:44:44.18ID:???
>>242
そうは読めない。
mysqlが格別sqlインジェクションに弱いと思い込んでる様にしか取れない。

だが備わってる構文によってインジェクション成立し易さの違いはあるのかも知れない(穴はすでに空いてて、後はどれだけ工夫できるか)。

だからどこ情報なのかと思った。
0249NAME IS NULL垢版2015/08/30(日) 14:16:46.57ID:StyQlNPS
>>242 >>248
すみません、mysqlに問題があるとかじやなく、私自身無知だから懸念があると言いました。もうしわけないです。
0250NAME IS NULL垢版2015/08/30(日) 14:17:21.02ID:StyQlNPS
>>242 >>248
すみません、mysqlに問題があるとかじやなく、私自身無知だから懸念があると言いました。もうしわけないです。

あ、無知というのはsqlインジェクションに対してです。
0251NAME IS NULL垢版2015/08/31(月) 01:35:15.95ID:???
「PHPはSQLインジェクションやXSSなどの脆弱性を生みやすい言語(キリッ」とか
専門家きどりが言ってるくらいなんだから、まあどうでもいい。
0253NAME IS NULL垢版2015/08/31(月) 09:36:04.52ID:???
mysqlユーザーは格別sqlインジェクションに弱い←正しい
0254NAME IS NULL垢版2015/08/31(月) 10:29:22.14ID:???
馬鹿ばっかり、ていうこと?
0255NAME IS NULL垢版2015/08/31(月) 13:15:47.58ID:???
>>252
野暮だとは思いますが、マジレスさせて頂きますと、
MySQL だから SQLインジェクション という、ありがちな勘違いの話題に対し、
類似事例として、PHP だから SQLインジェクション・XSS という、これもよくありがちな例を提示して、
話題を盛り上げるという意図を含んでおります。いわゆる「あるある」ネタというものです。
ご理解ください。
0256NAME IS NULL垢版2015/08/31(月) 15:44:29.95ID:???
>>255
ということはつまり、あるあるネタで盛り上げるためには
「PHP だから SQLインジェクション・XSS」という、
もはやmysqlが含まれてすらいない話題を進めるのが、このスレでは正しい姿であると。
0257NAME IS NULL垢版2015/08/31(月) 16:21:23.02ID:???
>>256
>>255みたいなアホのレベルにあわせる必要は無いよ
「PDOつかえ」とかPHPの話題に適宜誘導するが良い
0258NAME IS NULL垢版2015/09/02(水) 09:26:07.04ID:FSiZxeQ8
utf8mb4にしてみたんだけど、絵文字がうまく入らない
ハートや太陽は入るようになったんだけど顔の奴とかが??になる、こういうもんなの?
0261NAME IS NULL垢版2015/09/02(水) 12:38:57.61ID:FSiZxeQ8
入るやつと入らないやつがあるみたい。
http://i.imgur.com/yJIlsFq.png
全部調べてはないけど、この中だとハート、太陽は入る。表情っぽいやつは入らない。
0262NAME IS NULL垢版2015/09/02(水) 14:14:14.58ID:Y3UOJxqM
それ携帯電話会社が独自に定義した絵文字だろ。
0263NAME IS NULL垢版2015/09/02(水) 19:20:12.41ID:GXuewwg8
入るのはコードとして入るんでしょ?
そうなら出力の後のアプリの問題では?
0264NAME IS NULL垢版2015/09/02(水) 20:11:57.86ID:THTRhS5y
それなら、set character何たらいらないことになるな
0265NAME IS NULL垢版2015/09/02(水) 23:11:47.49ID:???
insert on deplicate update と replace って更新が多い場合どっちが早いですか?
0266NAME IS NULL垢版2015/09/03(木) 05:47:49.55ID:5IAes8yV
>>263
じゃあdb側が適切に入れることができてないってこと?
それなら顔文字を直接insertじゃあなくてコードに変換するとか?
スターリングで見られないかな?それともローカル保存時点で問題あって、それのコード見ても違うやつってこと?
0267NAME IS NULL垢版2015/09/03(木) 06:59:06.12ID:???
PHPからDBへの接続が、mb4になってなかったみたい。
解決しました。やはり保存はできてた。
0268NAME IS NULL垢版2015/09/03(木) 12:44:55.56ID:???
>>263
「コードとして入る」のいわんとしている事がいまいちはっきりしないけれど、
つまりほかのすべての文字と同様だってことでいいよね?
0269NAME IS NULL垢版2015/09/03(木) 13:16:59.80ID:5IAes8yV
>>260
そうそんな感じ。携帯独自だからdb側がコード分からなくて、、、文字コード?、、、変な風に入るって意味
0270NAME IS NULL垢版2015/09/03(木) 13:26:45.63ID:9O7lGukv
それならバイナリーで格納すれば良いのでは
0271NAME IS NULL垢版2015/09/03(木) 13:43:46.82ID:5IAes8yV
>>270
ごめん。その顔文字のバイナリがわからないって思って。
0272NAME IS NULL垢版2015/09/11(金) 12:43:36.42ID:POPTh1tf
プライマリーキーを auto_increment にしているとき
自動採番される数字にプレフィックスをつけたいんだけど
いい方法ありますか?
0273NAME IS NULL垢版2015/09/11(金) 13:39:53.49ID:fYUHmnAe
数値型のColumnにどうやって文字列を埋め込んだら良いのかな。
0274NAME IS NULL垢版2015/09/11(金) 13:52:41.46ID:???
SELECT時に、文字列と連結すりゃいいべ
0275NAME IS NULL垢版2015/09/11(金) 18:34:17.55ID:???
ウィンドウズ版mysqlのmy.ini設定を教えてくれ。メモリ関係の設定値をどう割り振れば良いのかわからん。動きが遅いんだわ。実メモリ2GBなんで遅いのかな
0277NAME IS NULL垢版2015/09/12(土) 18:41:53.43ID:yLpfmMy6
ビュー作った時のクエリーを再確認したくなった時って
どこで見ればいいんだっけか
0279NAME IS NULL垢版2015/09/14(月) 00:13:32.13ID:???
MySQL Installer is running in Community mode.
というのが時々でるのだが、これは何?
出たらどうすればいいの?
0280NAME IS NULL垢版2015/09/14(月) 02:38:47.05ID:FPrmyUog
これまで euc-jp で構築して来てしまったデータベースを
utf-8 に変えたいのですが、どのようにすれば文字化けせずに行えますか?
0281NAME IS NULL垢版2015/09/14(月) 06:19:57.07ID:???
何でeucなんか使ったのさ?
0283NAME IS NULL垢版2015/09/14(月) 08:15:14.40ID:FPrmyUog
>>281
最初に買った本に euc-jp にするよう書いてあったのです。。。
0284NAME IS NULL垢版2015/09/14(月) 09:10:06.41ID:???
一度ダンプして、作り直す
0285NAME IS NULL垢版2015/09/14(月) 11:35:20.61ID:FPrmyUog
>>284
テーブルをエクスポート
テーブルを削除
テーブルの構造内の ujis を utf8 に書き換えてインポート

これだけでOKでしょうか?

文字コードは問題なく行けた感じなのですが・・・
エクスポートしたテーブルの内、行の多いテーブル内のデータが大幅に欠けていた事に気付きました。

数ヶ月分のデータを消失してしまいました。。。

何故こんな事が起こるのでしょうか?
ダンプに行数制限とかあるんでしょうか?
0286NAME IS NULL垢版2015/09/14(月) 12:21:17.41ID:???
DBはクライアントのエンコードに合わせるんだから
ダンプしてDB作りなおしてリストアでいいべ
どうしても変換できない文字もあるから、ダンプデータなおすなり
元データ書き換えてダンプし直すなりすればいいし
完全に同じものができるまでもとのDB消さなけりゃなんどでもやり直しできる
0287NAME IS NULL垢版2015/09/14(月) 20:55:13.34ID:cpccsGWz
INSERTとかUPDATEするときに、各項目を
トリミングしてからやってほしいんだけど
そういうことってトリガ使わないでできる?

" unko " を突っ込むときに、前後の空白を
あらかじめ捨て去りたい
0288NAME IS NULL垢版2015/09/14(月) 22:21:43.18ID:nDN/354J
みんなmysql用のサーバーどこ使ってるの?
俺さくらインターネットのやつ使ってるんだけど
そろそろDB容量が1GB超えそうだからDBだけ引っ越し考えてるんだが
AmazonやGoogleのはよくわからんし
国内のDB専用サーバでいいところないかな

200万回読み込み/dayくらいは余裕で耐えられるレベルの
0290NAME IS NULL垢版2015/09/15(火) 15:39:28.78ID:9ansTz5Y
>>285
sqldumpを使ったんでしょ?
それなら、内容がテキストファイルに残っているのだから、
どこが欠落したか、照合すれば分かるでしょ。
それを特定し、原因を調べ、直してから、再実行すれば良いのでは?
0292NAME IS NULL垢版2015/09/16(水) 01:02:16.66ID:???
そういうInsert文、Update文を書くときに、使う
0293NAME IS NULL垢版2015/09/16(水) 15:32:52.34ID:???
>>292
トリガ使わずにって書いてるあたりから、何を欲してるか分かりそうなもんだがなぁ。
0294NAME IS NULL垢版2015/09/16(水) 16:51:28.10ID:???
別にトリガ使わなくてもできるだろ
テーブル定義もしちゃダメなら無理だけど
0296NAME IS NULL垢版2015/09/16(水) 18:19:37.29ID:???
>>294
それ、それだよ多分! それを教えてくれ!
0297NAME IS NULL垢版2015/09/17(木) 22:08:24.85ID:IMxsLL8N
スレチだったら失礼。

現在PHPとMySQLでAVサーバーを構築してるんですが検索バーで「りお」と検索したら「リオ」と「Rio」もしくは「柚木ティナ」が含むレコードがヒットするようにしたいのですが、どのようにDBを設計すれば宜しいでしょうか?
0299NAME IS NULL垢版2015/09/17(木) 22:25:35.12ID:???
MySQLというよりDB設計の話になるけど
リオ=Rio=りお=柚木ティナってことだよね?
じゃあ女優テーブルにリオさんのデータを登録して、
もう一つ愛称(?)テーブルも作ってそこにりお、リオ、Rio、柚木ティナの4つのレコードを愛称と、女優IDで登録すればいいんじゃない?
愛称で検索させて、そこから外部キーで結果結合できるでしょ
0300NAME IS NULL垢版2015/09/17(木) 22:26:42.91ID:GYnr2P1u
りおって固有名詞?
0301NAME IS NULL垢版2015/09/17(木) 23:01:08.36ID:IMxsLL8N
>>298
あそこの住民がそんなこと分かるのかよ、、、

>>299
愛称テーブルですね、あざす。
誤字についてなのですが、例えば
「柚木テーナ」と検索して「もしかして: 柚木ティナ」とヒットさせるためにはどうしたら良いですか?
0302NAME IS NULL垢版2015/09/17(木) 23:04:55.80ID:???
それって、DBじゃなく、AIの話になりそう
0303NAME IS NULL垢版2015/09/17(木) 23:08:41.03ID:IMxsLL8N
ちな今考えてるのはPHPでレーベンシュタイン距離を実装することです。
が、初心者には難しいです(>_<)
0304NAME IS NULL垢版2015/09/18(金) 00:01:32.72ID:???
>>296
答え返ってこなかったね。俺も知りたかったんだけどな。
0305NAME IS NULL垢版2015/09/18(金) 00:05:27.77ID:/of2wj3O
>>304
insert、update時のカラム指定に関数を書けばいいことだろうが。
0307NAME IS NULL垢版2015/09/18(金) 00:13:22.16ID:???
>>303
初心者で実装が難しいなら後回しにするってこともできるんよ。
部分一致でとりあえず作ればいいじゃん。
0308NAME IS NULL垢版2015/09/18(金) 00:20:50.28ID:/of2wj3O
insert into テーブル名 (カラム名) values (rtrim(スペースが入った変数名))
0311NAME IS NULL垢版2015/09/18(金) 08:11:22.78ID:DUcelWsq
>>310
いいえ、ただの趣味です。
0312NAME IS NULL垢版2015/09/18(金) 08:44:43.80ID:???
流れも何も、できないって知っているなら、そう回答してやれば良いんだよ。
0313NAME IS NULL垢版2015/09/18(金) 13:57:38.65ID:???
>>312
>>294ができるって言ってるから、それを差し置いてできないとは断言できないでしょ。
テーブル定義のどこかでやれるらしいと。
0314NAME IS NULL垢版2015/09/18(金) 14:13:24.87ID:N39zO53t
>>313
お前だけだろ、流れに乗らずにいるのは
0315NAME IS NULL垢版2015/09/18(金) 16:16:55.25ID:???
>>294がいないんだからどうしようもないけど、
そのような方法があるなら>>314は知りたいと思わないの?
なんで話を終わらせたがってるのか分からん。あれば便利じゃん。ほしいじゃん。
0316NAME IS NULL垢版2015/09/18(金) 16:31:26.92ID:N39zO53t
方法があれば、誰かが書いている。
書いてないのは、方法が無いから
これでいいのでは?
匿名掲示板で、あるとか無いとかだけ言われても検証不能だろうが
やり方が示されるなら、検証できる。今のところ示されていない。
もう良いんじゃあないの?多分釣りなんだろう。
0318NAME IS NULL垢版2015/09/18(金) 23:09:45.38ID:???
質問ですが、mysqlってoracleでいうfor update nowaitないじゃないですか。
デフォルトでずっと掴みっぱなしになるわけで、
これって、ロック時間は極力短くしろよっていう思想の現れなのでしょうか?

となれば、例えばレコードを編集する時、oracleならロックが取得できれば編集中状態へ、
出来なければ編集不可能という処理ができましたが、
mysqlの場合それが出来ず、レコードに編集中フラグを立ててコミットしておく
とか、そういう方法が普通になるのですか?

もし編集中プロセスがハングした場合、ずっと編集中のままになってしまいますよね。
編集にタイムアウトを設けるとか、応答性の低い解決方法は普通ですか?
0319NAME IS NULL垢版2015/09/18(金) 23:49:54.29ID:???
楽観的/悲観的ロックの話かな?
0320NAME IS NULL垢版2015/09/19(土) 01:44:22.22ID:8OEtVGXT
>>318
レコード編集って何?
0321NAME IS NULL垢版2015/09/19(土) 07:57:11.69ID:???
>>320
編集が必要なレコード。
1レコードの内容を表示しているGUI画面があって、編集開始ボタンがあります。
編集開始ボタンが押下でユーザが編集して、編集終了ボタンを押して更新できませんでしたでは困ります。

画面が編集状態にある場合、レコードをロックしていないといけません、
他のプロセスから編集開始が押された時は即座に抑止を応答せねばならず、
また編集状態のプロセスがハングした場合は編集状態から自動的に開放される必要がある、
とそういう前提です。

oracleならfor update nowaitで簡単にできたのですが・・。
0322NAME IS NULL垢版2015/09/19(土) 09:23:00.19ID:???
記録したレコードを編集すること
0323NAME IS NULL垢版2015/09/19(土) 20:29:07.96ID:IiYbpDOn
だからタイムスタンプというものがあるんだろうが。
0324NAME IS NULL垢版2015/09/19(土) 20:40:22.47ID:???
時魔人に押してもらうやつか
0325NAME IS NULL垢版2015/09/19(土) 22:01:26.17ID:???
mysqlってデフォルト設定のままだとパフォーマンス悪いん?
0326NAME IS NULL垢版2015/09/19(土) 23:44:00.82ID:???
オープンソースですから
0328NAME IS NULL垢版2015/09/21(月) 18:15:15.08ID:???
MySQLで、変数名を @var ではなく :var にできませんか?

$ cat test.sql
set @id := 123;
select * from tbl
where id = @id /* ← これを :var にしたい */
$ mysql dbname < test.sql
0329NAME IS NULL垢版2015/09/22(火) 00:26:08.20ID:djsdZIEl
>>328
何で? 
0330NAME IS NULL垢版2015/09/22(火) 01:26:22.84ID:???
PDOのコードをそのまま貼り付けたいからとか?
0332NAME IS NULL垢版2015/09/22(火) 16:51:23.28ID:knLlIlCD
ORDER BY用のインデックスって作った方が良いですか?
0333NAME IS NULL垢版2015/09/23(水) 01:20:39.17ID:???
>>331
まさにそれのせいで@になってんだけどな
0334NAME IS NULL垢版2015/09/23(水) 23:32:32.81ID:DwF+AFhX
>>332
必要
WHEREから繋がってる必要がある。
だから、WHERE とORDERにダブりキーがあっても書いた順番に複合インデックスを立てるとこがミソ
初心者はそこ省いてインデックスが効かなくなってる
0335NAME IS NULL垢版2015/09/24(木) 21:56:53.31ID:???
>>334
WHERE A>hoge ORDER BY B,C
みたいな条件の場合、インデックスは A,B,C で作れってこと?
0336NAME IS NULL垢版2015/09/24(木) 22:09:12.14ID:???
条件に合うように、作ればいい
0337NAME IS NULL垢版2015/09/24(木) 22:29:39.20ID:ZNCE0igf
>>335
それは彼が言ってるダブりと違うと思うぞ。
0338NAME IS NULL垢版2015/09/25(金) 03:33:17.05ID:???
ダブりがあっても書いた順番に〜
ってことは
ダブりがない場合ももちろん書いた順番に〜
という意味になる。
0339NAME IS NULL垢版2015/09/25(金) 07:43:11.22ID:eAxycsqT
インデックスが使われるかどうかはそんな単純な話じゃないが。
0340NAME IS NULL垢版2015/09/25(金) 13:53:57.09ID:h+01Bwn7
>>335
複合インデックス作るだけじゃなく、
インデックス自体、複数作っても構わないんだよ。
0341NAME IS NULL垢版2015/09/27(日) 04:33:44.27ID:???
スパイダーエンジンの監視アーキテクチャがわからん。
ソース読むしかないか。
0342NAME IS NULL垢版2015/09/27(日) 16:12:53.23ID:???
Excel VBA から MySQLへの接続をしたいと考えています。

VBScript からは下記のコードで接続できるのですが、
VBAからは接続できませんでした。

Dim adoCon
Set adoCon = CreateObject("ADODB.Connection")
adoCon.ConnectionString ="Driver={MySQL ODBC 5.3 Unicode DRIVER};SERVER=localhost;DATABASE=db1;USER=********;PASSWORD=********;"

原因として、どのようなものが考えられるでしょうか。

環境はこれです。
OS : Windows 7 HomePremium 64bit
Excel 2013
MySQL : version 5.6.26
0343NAME IS NULL垢版2015/09/28(月) 00:51:42.99ID:???
俺はExcel2010 & MySQL 5.6.20 Win7Home 64bit で使ってるけど?
もっとも、
Driver={MySQL ODBC 5.3 ANSI DRIVER}
にしてるけどね

つーか、接続できないってんならそのエラーメッセージも書きなさいよ
0344NAME IS NULL垢版2015/09/28(月) 18:32:10.25ID:???
>>340
WHERE A>hoge ORDER BY B,C
みたいな場合は
どういうインデックスをつくればいいの?

A と B,C の2つ作ればいいの?
WHERE節とORDER BY節で違うインデックス使われるの?
0345NAME IS NULL垢版2015/09/28(月) 19:23:15.49ID:???
>>344
インデックスを作る前、作った後で、SQLを実行して時間を見てみる。
このくらいは簡単にできるぞ。
0346NAME IS NULL垢版2015/09/28(月) 21:05:47.30ID:???
>>343
エラーメッセージはこれです。

[Microsoft][ODBC Driver Manager]データソース名および指定された規定のドライバーが見つかりません。

ODBCマネージャーにドライバーはありますし、
VBScriptからなら接続できるので無いことは無いと思うので困っています。
0347NAME IS NULL垢版2015/09/28(月) 21:31:49.21ID:???
>>346
俺は
mysql 64ビット - dbcドライバ 32ビット - excel 32ビット
だけど、それは?
後、odbcマネージャーにあるというはユーザーDSNなのかシステムDSNなのか


これ以外なら判らん
0349NAME IS NULL垢版2015/09/29(火) 18:01:07.93ID:???
ROW_FORMATをCOMPRESSEDに設定して圧縮したら、
今後レコードが追加されても圧縮された上で追加されていきますか?
つまり一度設定したら、もう実行する必要ありませんか?
0350NAME IS NULL垢版2015/09/29(火) 18:56:13.97ID:???
どれくらいのスペックのマシンならmysqlがスイスイ動くの?dbはとっても小さいとして
0351NAME IS NULL垢版2015/09/29(火) 20:04:16.37ID:???
>>350
DBが小さいなら何でも動く。
RaspberryPi程度でも普通にLAMP構成で使えている。
0353NAME IS NULL垢版2015/09/29(火) 21:02:28.42ID:???
思いついたら書かずにはいられない
0355NAME IS NULL垢版2015/09/30(水) 12:54:34.33ID:???
Windows Server 2012 R2 64bitで使うなら
MySQLも64bitがお勧めですか?
MySQL 32bit版よりも速いですか?
0356NAME IS NULL垢版2015/09/30(水) 12:57:07.41ID:e5RmzYL/
>>355
日本オラクルに聞けよ。
0357NAME IS NULL垢版2015/09/30(水) 13:19:11.68ID:???
>>356
君ならどっち使うとか?教えてけろばってん。
0358NAME IS NULL垢版2015/09/30(水) 13:22:03.79ID:e5RmzYL/
64ビット版があるのに32ビット版を使ったら、サポートする方も困ると思うぞ。
0359NAME IS NULL垢版2015/09/30(水) 14:01:34.46ID:???
ダウンロードサイト行くと32ビットがお勧めで出てるよな。
0360NAME IS NULL垢版2015/09/30(水) 14:06:36.42ID:e5RmzYL/
個人で使うなら好きにしろよ。
0361NAME IS NULL垢版2015/09/30(水) 14:27:22.59ID:IAPAwJ2c
サーバーが詰んでるメモリの内、どのくらいを mysql に
割り当てできるのかにもよるんじゃないかな
4G以下ならどっちでも変わらない気がする
0362NAME IS NULL垢版2015/09/30(水) 18:59:44.61ID:???
Sakila というサンプルが入っていますが、
Sakilaとはどういう意味なんでしょうか?
0363NAME IS NULL垢版2015/09/30(水) 19:19:42.94ID:???
The name of the MySQL Dolphin (our logo) is “Sakila,”

これかな
0365NAME IS NULL垢版2015/09/30(水) 22:29:13.60ID:Y2qk8mJ3
joinするとき、
select * from A join B on A.id=B.id;
みたいにするのをついうっかり
select * from A join B;
とやってもなんだかそれなりに動いてしまうんだが
これ何をもって結合しているんだ?
おなじ名前のカラムを見つけて勝手に結合してるの?
0366NAME IS NULL垢版2015/10/01(木) 02:25:38.51ID:U2cjFj6t
phpで書く時、カラム名にバッククオートつけたほうがいいかな?
0367NAME IS NULL垢版2015/10/01(木) 20:45:48.95ID:8eWJrbup
>>365
全部結合されている。
0368NAME IS NULL垢版2015/10/03(土) 15:42:50.72ID:???
>>365
全部ってどういうこと?
何を結合してるの?
0369NAME IS NULL垢版2015/10/03(土) 19:19:29.30ID:cM4iqtHu
>>368
Aテーブルの1レコードに対してBテーブルの全レコードが結合されている。
0370NAME IS NULL垢版2015/10/04(日) 13:27:08.52ID:???
>>369
まじ? つまり A×B 全部出てるだけってこと?
0371NAME IS NULL垢版2015/10/04(日) 16:34:15.56ID:J2GK7qp/
>>370
そうだよ。

テストデータは結合されるはずがないデータも作らないとダメですよ。
0372NAME IS NULL垢版2015/10/09(金) 05:40:57.25ID:fvYalIo+
Phpmyadmin 3.5からODS形式のファイルをアップロードしようとすると
この圧縮形式はサポートしていません、と出てアップロード出来ないんですが
これはPHP側の問題でしょうか? どこを修正すればアップロード出来るようになるでしょうか。
0373NAME IS NULL垢版2015/10/22(木) 17:48:12.28ID:/JBNyFWS
PDOで、セキュアで動的なプレースホルダを作るには
どうしたらいいんでしょーか

チェックをつけたら絞込み条件が増えてく、みたいなクエリは
どうやって設計するのが今風でおしゃれで格好いいのか
0374NAME IS NULL垢版2015/10/22(木) 22:35:08.30ID:???
5.7は三倍速いと言うのは本当か?
0375NAME IS NULL垢版2015/10/28(水) 16:29:09.84ID:???
テーブル消しても外部キーの設定が残ってて、再作成するときに同じ外部キー名だとテーブル作れないっていうエラーが出るんですが、
テーブル削除時に関連してる外部キー設定も削除してくれるようなオプションないんでしょうか?
0376NAME IS NULL垢版2015/11/06(金) 18:06:29.79ID:???
group by した時に残るレコードの条件を指定することってできますか?
order by と組み合わせようとしたらエラーが出てできませんでした。
havingのことじゃなくて、gruop byされる時の条件のことです。

同じ値を持つ3つのレコードがあったとして、
そのカラムをグループキーに指定した場合、その2つ目のレコードが代表として残るようにしたい、という意味です。
0377NAME IS NULL垢版2015/11/06(金) 21:17:42.10ID:efLLhmQ2
>>376
そもそもグループ化する必要がないのでは?
0379NAME IS NULL垢版2015/11/07(土) 00:14:12.18ID:???
異動で新たに担当することになったシステムで使われてるmysqlのクエリを
片っ端からEXPLAINしてみたら、typeはrefだがkey_lenが515とかになってるやつがあったんだが、
このクエリ大丈夫かね?
今までの経験だとkey_lenて普通一桁とかだったのだが。。
短いほど速いのは知ってるが、どれぐらい長いと速度に影響出るんでしょうか?
0380NAME IS NULL垢版2015/11/10(火) 10:52:44.03ID:???
>>379
速度に影響はない。 メモリ使用量に影響はあるが
0381NAME IS NULL垢版2015/11/10(火) 10:54:19.48ID:Vbd15PUm
where A="hoge" and B="piyo"
という式で、"hoge"の代わりにオールマイティを入れたいときは
どうしたらよいですか?
0382NAME IS NULL垢版2015/11/10(火) 14:18:41.02ID:???
Aが何でもイイんだったら単に
where B="piyo"だけでいいやん
0385NAME IS NULL垢版2015/11/10(火) 20:51:52.55ID:4k/MXLfL
>>381
そもそも変数じゃないの?
0386NAME IS NULL垢版2015/11/10(火) 20:57:07.82ID:4k/MXLfL
where A like '%' and

一つのSQLでどうにかしようというのは、あまり勧めないが。
0387NAME IS NULL垢版2015/11/11(水) 15:59:54.83ID:???
wordpressとmysqlでブログをやっているんですがどうも反応が遅いのです。ページを開くのに十秒くらいかかります。
質問はmysql単体の性能を測定するにはどういう手法が有りますか?
ググるキーワード教えて下さい。
0388NAME IS NULL垢版2015/11/11(水) 16:46:33.55ID:???
>>387
クエリの前後でストップウォッチ的にPHPで書く。
たぶん共用サーバーなのが原因と思うけど。
0390NAME IS NULL垢版2015/11/11(水) 22:29:17.43ID:???
>>388
vpsサーバーwindowsです
さっそく試してみます。有難うございました。
0391NAME IS NULL垢版2015/11/16(月) 18:14:05.50ID:7jwUnfLN
MySQLの勉強をしてるんだけど、Workbenchで接続先のデータをエクスポートしようとすると

mysqldump: [ERROR] unknown variable 'delayed-insert=FALSE'


となってdumpファイルの作成に失敗する・・・
どーしたらよいものでしょうか
0392NAME IS NULL垢版2015/11/16(月) 18:47:54.13ID:???
ググったら答えあるやん
英語は頑張って訳せ
0394391垢版2015/11/16(月) 21:30:14.02ID:???
ぐぐって英語読んだら解決しました・・・すみません
0397NAME IS NULL垢版2015/11/19(木) 13:59:58.88ID:???
mergeテーブルで3分割されたデータをsqldumpでdumpしたいんだけど、
3つのテーブルを上手くマージした1つのテーブルにすることはできないものか。
>>でデータのみ追記することも考えたけど、それしかないかなぁ。スマートじゃないなと。
sqldump (mergeテーブル名) > dump.sql 一発で3つ分のテーブルデータがほしい。
0398NAME IS NULL垢版2015/11/19(木) 22:12:50.37ID:???
linux vpsのcpu2コア,2gbメモリくらいのプランでも動きますか?
0401NAME IS NULL垢版2015/11/19(木) 22:38:03.54ID:???
質問の質からして小学生だろ
スルーでおk
0402NAME IS NULL垢版2015/11/19(木) 22:53:09.86ID:???
>>401
知らないならレスすんなよ。
このウンコが
0404NAME IS NULL垢版2015/11/23(月) 19:02:02.62ID:MdajTNFi
Aというテーブルと、そっくり同じなBというテーブルがあったとき

AでSELECT した結果をそのまま Bに INSERT したいときって
どうやって書くんだっけか
超ド忘れしちゃった
0405NAME IS NULL垢版2015/11/23(月) 19:02:47.06ID:???
メモ帳 + ペン + キーボード でがんばる
0406NAME IS NULL垢版2015/11/23(月) 19:32:21.54ID:???
きちんと教えてくださいというまで教える気はない。
0407NAME IS NULL垢版2015/11/23(月) 19:34:29.00ID:???
www

insert into b
select * from a
where 〜
0408NAME IS NULL垢版2015/11/23(月) 19:38:52.98ID:???
insert into B select * from A;
かな
0409NAME IS NULL垢版2015/11/23(月) 20:13:42.66ID:W255gPWK
>>406
お前はいいやつw
0410NAME IS NULL垢版2015/11/24(火) 14:44:39.22ID:???
データベースって画像も貯められるのか?
0411NAME IS NULL垢版2015/11/24(火) 14:48:16.68ID:dq6F7Xc9
lob型
0412NAME IS NULL垢版2015/11/24(火) 15:13:39.20ID:JaRwYBDP
select 90 * 90;
0413NAME IS NULL垢版2015/11/24(火) 16:47:57.05ID:???
>>412
それは画像のサイズで検索出来るのか?
0414NAME IS NULL垢版2015/11/25(水) 09:48:22.43ID:???
MySQL cluster関連の質問もここで良いでしょうか?
0416NAME IS NULL垢版2015/11/26(木) 15:05:54.57ID:???
MySQLからMySQL clusterの変更に際し、エンジンも
MyIsamからndb clusterに変更しました。

MySQLでは、500万レコードのloadを約50秒程度で行います。
しかし、cluster側では、loadに4分近くかかります。

どちらの処理でも、mysqld、ndbdのプロセスは上限に張り付いているので、
CPUは使いきれています。シングルスレッド性能も同等です。
ディスクも同じです。(物理的には別だけどものは同じ)

cluster側はトランザクション制御等MyIsamに比べ複雑なのは理解していますが、
ここまでloadで遅くなるものでしょうか?
ちなみにselectは、わざとフルスキャンのSQLを投げた結果、60秒→30秒と改善しています。

MySQLはload用のファイル、mysqld、データ場所すべて同一ホスト内、
cluster側は、SQLノードのホストにload用ファイルを置いて3台のデータノート
に対して更新をしています。
0417NAME IS NULL垢版2015/11/28(土) 20:50:32.13ID:7dN7iUfz
そうですか。
0418NAME IS NULL垢版2015/11/29(日) 11:11:02.76ID:80OZ4w5H
>>417
無能は黙ってろよ
0420NAME IS NULL垢版2015/12/01(火) 11:36:31.96ID:???
同じテーブルにある同じ型のカラムを一つにまとめたいんですけど、
1つずつUnionでくっつけていくしかないですよね?
0421NAME IS NULL垢版2015/12/05(土) 14:48:36.89ID:???
毎日一回だけあるSQL実行したいんだけどどうすればいい?
0422NAME IS NULL垢版2015/12/05(土) 15:51:12.62ID:???
スクリプト書いて、タスクスケジューラに登録
0424NAME IS NULL垢版2015/12/06(日) 00:53:19.96ID:cUUt9huk
>>421
毎日自分が手動で実行する。
0427NAME IS NULL垢版2015/12/06(日) 19:22:59.64ID:cUUt9huk
オペレーター
0428NAME IS NULL垢版2015/12/06(日) 19:23:39.92ID:cUUt9huk
毎日一回だけしこしこ実行したいんだけどどうすればいい?
0429NAME IS NULL垢版2015/12/29(火) 11:12:35.69ID:???
mysqaldumpするとき
insertが1行になるのはいいんだけど
--skip-quick ではなく
てきどに改行コードを入れて見た目複数行になるように
するほうほうをおしえて
0431NAME IS NULL垢版2015/12/29(火) 16:54:32.35ID:???
ユーザ sample をつくるときに
create user 'sample'@'localhost' identified by 'password'
と入力しているのですが、正しいパスワードを入力してもアクセスが拒否されます。
どうしてでしょうか?
0432NAME IS NULL垢版2015/12/29(火) 17:25:18.56ID:???
アクセス権限を与えてますか?
0433NAME IS NULL垢版2015/12/29(火) 17:56:50.27ID:???
>>432
手元にある本を参考にしてつくっているのですが、user sampleを作れば、そのまま
接続できるはずだと書かれています。
権限の話はuser sampleを作ったあとに、前もって作ってあったsampledbにアクセスする際に
でてくるだけです。
0434NAME IS NULL垢版2015/12/29(火) 18:51:59.71ID:???
>>433
create user したアカウント(たぶんroot?)ならアクセスできるんだよね。

そのアカウントで入ったあと、

select Host, User, Password from mysql.user;

を実行し、登録ユーザー一覧の表示を確認してみて。

+-----------+----------------+-------------------------------------------+
| Host | User | Password |
+-----------+----------------+-------------------------------------------+
| localhost | sample | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-----------+----------------+-------------------------------------------+

一覧表示の中にこういう行が出てくれば、登録はできている。
出ないときは登録ができていないことになる。
0436NAME IS NULL垢版2015/12/29(火) 20:08:48.64ID:???
どうもパスワードが違うみたいです。パスワードを入力するとAcess denied for user 'sample'@'localhost'(using paswword:NO)とでてしまいます
0437NAME IS NULL垢版2015/12/29(火) 20:32:47.30ID:???
それパスワード入力出来てない
0438NAME IS NULL垢版2015/12/29(火) 21:07:17.86ID:???
>>437
設定したパスワードと同じものを入力してるんですが、できません
0439NAME IS NULL垢版2015/12/29(火) 21:17:20.61ID:???
431ですが自己解決しました
ご迷惑をおかけしました。
0440NAME IS NULL垢版2016/01/04(月) 13:10:24.07ID:/hS2DzIu
過疎っちゃイヤン ///
0441NAME IS NULL垢版2016/01/04(月) 20:48:37.85ID:???
自己解決でもちゃんと方法かいて
0442NAME IS NULL垢版2016/01/04(月) 21:07:40.94ID:???
エラーメッセージ見ればわかるじゃん
言われてる通りパスワード入力してなかったか出来てなかったんでしょ
0443NAME IS NULL垢版2016/01/05(火) 01:51:52.06ID:???
それを自己解決と言うか
0445NAME IS NULL垢版2016/01/14(木) 18:37:13.07ID:PEQV/I/s
WorkBench入れてるんだけど、どうにもsshで接続できない・・・
ローカル上も新しく借りたレンサバでもなんてことなく接続できるんだが、
数年前にたてたcentos5のサバにmysql入れてworkbenchから接続しようにも
「例外コンポーネントが例外をスローしました」とでる
一度でると、再起動するまで他の接続まで一切受け付けなくなる

以下、詳しい状況
macのターミナルからはsshも問題なく接続でき、同じpemファイルの配置場所もファイル名も日本語は使用せず
SSHのhostnameもusernameも確認
TestConnectionボタンを押すと数秒後に「例外〜」のエラー
サーバのログを見ると「Accepted publickey for〜」でsshでの接続はできてそう

mysqlのhostnameはデフォルト、ポートもデフォルト、Usernameもrootも他のアカウントもだめ
ターミナルでmysqlに接続してユーザ確認するけど、
しっかりlocalhostでrootも存在

あとどの辺確認したらいいもんでしょうか・・・
0446445垢版2016/01/14(木) 20:07:07.34ID:???
ちょい自己レスですがSequelProだとすんなり接続できた
どういうことなんだろう・・・
0447NAME IS NULL垢版2016/01/20(水) 23:05:32.81ID:???
テーブル作成時のengineの選択で memory ってのがあるじゃないですか。これ使う場合ってサーバー起動時に
通常のテーブルからinsertしてシャットダウン時(及び随時)にディスクに書き戻す必要があるんじゃないですか?
0448NAME IS NULL垢版2016/01/22(金) 02:50:26.44ID:yW/ZQdlK
ライセンスについて質問なんですが、
無料版使ってショッピングサイト作って運用したら
「ソース非公開で商用利用」ってことでライセンス違反になるん?

ショッピングサイトを自分で運用する場合と、
ショッピングサイトをお客さんにあげてお客さんが運用する
場合で話は変わってくる?

GPLっていうのがよくわからないです(´д`;)
0449NAME IS NULL垢版2016/01/23(土) 00:01:53.79ID:???
>>448
利用してるMySQLのソースをいじってなきゃなんも心配ない
MySQLのカスタムビルド作って利益得て、かつGPLでカスタム内容を無償公開してなければライセンス違反。バレたら炎上案件ってことだ

言いたかないけどその知識レベルで「よくわかんないです」はないだろ。もし小一時間調べて全く分からなかったなら社会人として問題あるぞ

そもそも考えなくてもわかる筈のこととして、MySQL使ってるサイトなんて腐るほどわけだが、そのサイト自体のコードが公開されてるケースなんて滅多に見ないでしょ
そもそもGPLがそんなライセンスだったら誰も使わないよ
0451NAME IS NULL垢版2016/01/30(土) 16:01:32.78ID:???
テーブルA にあって、テーブルB にないもの
を検索するのって、何ジョインだっけか
0454NAME IS NULL垢版2016/01/31(日) 05:48:30.03ID:???
MySQL WorkBench使ってます。
VARCHAR()とNVARCHAR()のどっちにしても、VARCHAR()表記になります。
で、Collationがutf8-binかutf8-default collationで区別されてるみたいなんですが、なぜこういう方法なんでしょうか?
0455NAME IS NULL垢版2016/02/05(金) 00:02:04.23ID:???
Mysql初心者です
ジオメトリー型のデータが入ったレコードがあったとします
ある長方形を5*5分割してその中にあるレコードを一括してカウントするクエリーって作れますか
0456NAME IS NULL垢版2016/02/05(金) 16:42:11.59ID:cpBr0Tes
質問させてください

ID(id)とカテゴリー(category)と登録日(date)の3つのカラムがあります。
date順に、categoryでgroup byして、id順に並べ替えるにはどうしたら良いでしょうか?
(簡単に言うとGROUP BYを並び替えたい)

select * from (select * from table order by id desc) as tmp group by category order by id desc;

これでやってみたのですが
ローカルの「MySQL Community Server 5.5.41」ではうまく並び替え出来たのですが
サーバーの「MariaDB Server 5.5.44」だとidで並び替えることが出来ません

よろしくお願いします!
0457NAME IS NULL垢版2016/02/05(金) 16:52:11.71ID:R7dvPJ9c
>>456
>date順に、categoryでgroup byして、id順に並べ替える

まず日付毎に、カテゴリーが同じ物をまとめるって事?
idはレコード毎に違うんだよね?これをしたいならグループ化は無理じゃない?
どうしたのか、言っている意味が良くわからない。
データのサンプルと、こういう風に出力したいという例を書いてみて
0458NAME IS NULL垢版2016/02/05(金) 18:17:48.14ID:???
レプリケーションをやってみようと思うのですが
同期を取っていて、マスターのDBをドロップしたら、スレーブはどうなるのでしょうか?
またリストアで一度に大量にデータを流し込むとスレーブはどうなるのでしょうか?
運用でできれば一瞬でデータを書き換えたいのですが
0459NAME IS NULL垢版2016/02/05(金) 20:19:53.84ID:???
一瞬でデータを書き換えたいw
0460NAME IS NULL垢版2016/02/05(金) 20:35:05.57ID:cpBr0Tes
>>457
レスありがとうございます
データのサンプルを作りました

これを↓
| date | id | category |
|  4 | 1 |  book  |
|  3 | 2 |  note  |
|  2 | 3 |  note  |
|  1 | 4 |  book  |

まずcategoryでGROUP BYしてid順に並べ替える↓
| date | id | category |
|  4 | 1 |  book  |
|  3 | 2 |  note  |

その後date順で並び替えたい↓
| date | id | category |
|  3 | 2 |  note  |
|  4 | 1 |  book  |

よろしくお願いします
0461NAME IS NULL垢版2016/02/05(金) 21:07:29.67ID:???
GROUP BYの意味あんの?
order by date,id
でいいんじゃないの?
0462NAME IS NULL垢版2016/02/05(金) 21:26:43.94ID:???
>>460
categoryでグループ化した時点で、
dateもidも不定だよ。何が来るか定まらない。
そんな値でソートしても意味ないよ
0463NAME IS NULL垢版2016/02/05(金) 21:34:59.96ID:cpBr0Tes
レスありがとうございます

>>461
それだとすべてのレコードが抽出されてしまいます

>>462
mysqlでサブクエリを使うとちゃんと並び替え出来たので
mariaDBの問題でしょうか…
0464NAME IS NULL垢版2016/02/05(金) 21:38:35.52ID:???
>>463
それは出来たと錯覚しているだけです。
0465NAME IS NULL垢版2016/02/05(金) 21:47:13.18ID:???
>>463
例えば、categoryでグルーピングした時に、
bookに対し、
dateに来る値は4と1、idに来る値は1と4となるけど、
どちらを取って欲しいのか、それともどちらでも良いのか
この辺を決めないといけない。
0466NAME IS NULL垢版2016/02/05(金) 22:52:28.21ID:???
>>463
エラーにならないのは mysql が変態だから。
エラーにするモードもあるんだっけ。
0467NAME IS NULL垢版2016/02/05(金) 23:16:35.81ID:cpBr0Tes
>>464-466
レスありがとうございます
ORDER BYで並び替えたデータをGROUP BYして並び替えって、出来ないんですか...orz
0468NAME IS NULL垢版2016/02/06(土) 00:06:57.26ID:???
>>467
それで結果が返るというのがMySQLが変態だと言う証
そういうSQLの覚え方はやめておいたほうjが良い
0469NAME IS NULL垢版2016/02/06(土) 00:32:45.59ID:???
グルーピングした上で一番小さなIDを取得したいというなら、MIN()を使え。
0470NAME IS NULL垢版2016/02/06(土) 09:53:39.79ID:NVazJnaW
MySQLWorkBenchで参照整合性を設定しようとしたらエラーが出ます。どこが悪いのでしょうか。
テーブル:Product
カラム :ID(INT(10),PK,NN,UQ,AI) , MakerID(INT(10),NN,UN)

テーブル:Maker
カラム :ID(INT(10),PK,NN,UQ,AI) , Name(VARCHAR(45),NN,UQ)
の2つのテーブルがあります。

生成されたSQLは、
ALTER TABLE `database`.`product`
ADD CONSTRAINT `MakerID`
FOREIGN KEY (`MakerID`)
REFERENCES `database`.`maker` (`ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

エラーは、
ERROR 1022: Can't write; duplicate key in table '#sql-3ac_17'
です。
0471470垢版2016/02/06(土) 10:05:21.36ID:???
すみません事故解決しました
0472NAME IS NULL垢版2016/02/06(土) 15:53:41.66ID:???
>>467

select * from table where id in (select min(id) from table group by category) order by date;

こんなところでどうかな
0473456垢版2016/02/09(火) 19:16:57.38ID:h3WTrmSA
>>472
出来ました!完璧です!
ありがとうございました
0474456垢版2016/02/10(水) 02:31:01.73ID:BKQKc0Aw
>>472
すみません、ローカルで試して出来たと思ったのですが
鯖にうpしたら、やっぱり出来てませんでした…
mariadbでは出来ないみたいです…orz
0475NAME IS NULL垢版2016/02/10(水) 02:53:37.67ID:???
出来てませんって? それは無いと思うけどね。
どういうデータがあって、どういう風にしたいか、もう一度書いてみて。

前提は、IDがユニークであることくらいだ。
0476NAME IS NULL垢版2016/02/11(木) 19:42:44.49ID:???
トリガーに関して質問なんですけど。 version 5.6.20 ある項目が更新された時にだけトリガーで退避ってのは出来ないでしょうか?
テストで作ってみたんですけど、関係ない項目を更新してもトリガーが起動されてしまうみたいで

create table stk(
code int primary key,
test1 int,
test2 date,
test3 int
);

create table hist(
code int ,
test2 date,
test3 int ,
primary key(code,test2)
);

delimiter //
create trigger tr_hist before update
on stk for each row
begin
insert into hist(code,test2,test3)
values(old.code, old.test2 , old.test3);
end;
//
delimiter ;
で、ここではtest2の日付が更新された時だけトリガーを走らせたいんですが
0477NAME IS NULL垢版2016/02/12(金) 13:30:36.30ID:???
トリガーを 一時的にオフにする機能ってある?
0478NAME IS NULL垢版2016/02/12(金) 15:42:44.23ID:sD5SjFnN
>>476
更新があったかどうかは内容見ないと分からないでしょ。
トリガー動かして、OLD.test2とNEW.test2を比較し、
変わってない時は処理せずに終了したらいいんじゃ?
0479NAME IS NULL垢版2016/02/12(金) 17:50:56.92ID:???
>>478
あ〜レスありがとう。トリガーの中でifが使えたんですね^^;

if old.test2 != new.test2 then
insert into hist(code,test2,test3)
values(old.code, old.test2 , old.test3);
end if;

でtest2が違った時に処理をすることが出来ました。
0480NAME IS NULL垢版2016/02/12(金) 18:35:18.16ID:???
phpでクラスを要素に持つクラス(入れ子っていうのかな)をinsertしたいんだけど根本的な解決方法が見当たらない
これはそもそもmysqlを使おうというのが間違いなのかな
0481NAME IS NULL垢版2016/02/12(金) 19:02:44.34ID:???
>>480
よくあるよ。
中の方のクラスは別テーブルにしろ。 あと適当なキー持て。
でもって外の方のクラスはそのキーを持て。
0482NAME IS NULL垢版2016/02/12(金) 19:15:48.29ID:???
>>481
入れ子になってるクラスの要素数が可変なんですけど、そういうときは
レコード側の要素数を可変域の最大まで用意しておいて対応って感じでしょうか
0483NAME IS NULL垢版2016/02/12(金) 21:53:21.95ID:???
>>482
本来なら正規化すべき

でも、5個程度とかちょっとなら hoge1,hoge2,hoge3 って作っちゃえ
0484NAME IS NULL垢版2016/02/14(日) 14:01:59.82ID:???
で、いつの間にか後任がALTER TABLEでhoge4,hoge5,hoge6,hoge7 と追加していくんですねw
0485NAME IS NULL垢版2016/02/14(日) 14:21:18.76ID:???
MySQLのイルカ?って名前あるの?
0487NAME IS NULL垢版2016/02/14(日) 14:47:48.81ID:???
匿名さんがアップを始めましたw
0488NAME IS NULL垢版2016/02/18(木) 10:21:22.01ID:???
InnoDB圧縮を使ってて、テーブルの定義に
「ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8」
みたいなオプションが入ってるのですが、
KEY_BLOCK_SIZE オプションを削除するにはどうすればいいんでしょう?
0489NAME IS NULL垢版2016/02/27(土) 17:38:56.13ID:i1LErPdJ
>>485
イルミナティと関係あるんじゃないか?

あっ、今ピンポンなった。
NHKの集金人か?
0490NAME IS NULL垢版2016/02/27(土) 18:47:35.75ID:???
薔薇の騎士団の方から来ました
0491NAME IS NULL垢版2016/02/28(日) 01:03:14.91ID:???
mysqlのログをソケットに吐く方法誰か知りませんか?
0492NAME IS NULL垢版2016/02/28(日) 22:55:23.20ID:+hFxe2mm
さくらのVPSで、2台のサーバーをローカル接続しています。
一方のサーバーから別のサーバーへmysql接続しようとすると、
コマンドラインやphpのmysql_connect関数では接続できるのですが、
phpのPDOで接続しようとするとAccess deniedになってしまいます。

原因は何が考えられるでしょうか?
0493NAME IS NULL垢版2016/03/01(火) 10:53:40.07ID:???
なにかミスってるとしか、、、
エクセプションのメッセージはどうなってる?
コマンドライン時とユーザー同じ?
0495NAME IS NULL垢版2016/03/04(金) 10:51:10.83ID:D+qlWOnT
>> 493
>> 494

ありがとうございます。
小さなテストで試してみたところ接続できました。
が依然CMSからの接続には失敗します。。

全く同じdsn,optionにしているのにコンストラクタで死んでます。。
0496NAME IS NULL垢版2016/03/04(金) 10:52:37.93ID:D+qlWOnT
>>493

>エクセプションのメッセージはどうなってる?

PDOException: SQLSTATE[28000] [1045] Access denied for user ‘***’@‘192.168.1.2' (using password: YES)

です。
0497NAME IS NULL垢版2016/03/04(金) 12:05:10.45ID:???
データの挿入時に発動するトリガーを
一時的にオフにしたいんだけど
どうしたらいいかな
0498NAME IS NULL垢版2016/03/04(金) 13:43:06.79ID:mTfYeX+i
トリガー内で特定の変数を見て、その値によって処理するかどうかを分岐する。
トリガーを動かしたくない場合は事前にその変数をセットする。
0499NAME IS NULL垢版2016/03/05(土) 16:15:15.78ID:???
>>498
マジでそんな原始的な方法しかないの?
それならトリガー削除した方がまだマシだな・・・
0500NAME IS NULL垢版2016/03/05(土) 16:22:38.19ID:???
トリガーを動かして欲しくないのかどうかは、使う側でしか分からないだろう
0501NAME IS NULL垢版2016/03/05(土) 20:44:09.12ID:???
>>500
ALTER TRIGGER fugafuga DISABLE;
とか
ALTER TABLE hogehoge DISABLE ALL TRIGGERS;
が使いたいよね
0502NAME IS NULL垢版2016/03/07(月) 12:52:06.24ID:???
クエリー実行してエラーが起きたとき、それが
そのクエリそのもので起きたのか、それともトリガー内で起きたのかを
区別する方法はある?
0503NAME IS NULL垢版2016/03/09(水) 03:12:56.11ID:???
そもそもクエリそのものが失敗してもトリガは起動されるのか?
0505NAME IS NULL垢版2016/03/09(水) 20:52:42.97ID:???
>>503
・クエリが失敗したのでトリガが起動されていない
・クエリが成功したがトリガが失敗した
このふたつの区別がつかないんだよ
0506NAME IS NULL垢版2016/03/09(水) 21:17:36.58ID:???
クエリが失敗した→クエリでエラーが出る(トリガーは動いていない)
クエリが成功した→クエリでエラーは出ない(トリガーの成否でエラー?)
0507NAME IS NULL垢版2016/03/11(金) 15:09:48.33ID:???
素朴な疑問ですけど、
1つのテーブルにレコードを追加していくより、
ある一定数以上はテーブルを分けた方がパフォーマンが良くないですか?

パーティショニングとかメモリを増やすとか色々対策はあると思いますけど
1つのテーブル内に詰め込むより、分けた方が速いと思うんです。

1テーブル1000万レコードから探すより、
100テーブル10万レコードから探す方が速いと思うんです。

こんな考え方に対してやっぱりおかしい・間違ってますかね?
0508NAME IS NULL垢版2016/03/11(金) 15:20:17.01ID:AeJcZbNa
MySQLで現在扱っているDBがあり、その性能に関しての疑問なら、
その試みを実際に試すことで回答は出ると思う。
MySQLに限定しないことなら、DB設計スレで聞く方が良いかもしれない。
言えることは、実運用時のデータアクセスの傾向と、
対するテーブル設計のチューニングに関係しそう。
0509NAME IS NULL垢版2016/03/11(金) 17:24:42.20ID:???
結局は設計の話になってくると思うけど、それだとどのテーブルから探すかを決定してからって事なんでしょ。
試してみて結果を教えてくださいw
0510NAME IS NULL垢版2016/03/11(金) 18:09:52.43ID:???
>>508-509
例に出したように1000万レコード、1テーブルに10カラムで試してみたのですが、
1テーブルでwhere検索すると数十秒〜数分かかります。(検索条件による)

もちろん、テーブル設計やハードを改善していけば変わってくるのでしょうが、
そういう物理的なコストをかけるより、単純なテーブル分散の方が良いと思うのですが、
その事に対してはなにもないのでしょうか?
皆さんもある程度試したうえで発言されてると思いますが。
0512NAME IS NULL垢版2016/03/11(金) 21:19:28.20ID:???
テーブルにインデックスが張ってあり、検索時にそのインデックスを効率的に利用しているかどうか、とか
あるいは、テーブル上の全レコードを見ないと結果が出せないような検索(フルスキャン)なのか、とか
あとはストレージの性能とか、色々ありそうだけど
検索条件によるって所が気にはなる
仮にテーブル分散しても、分散したテーブル全てを見ないと結果が出せないなら、それほど変わらない気がする。
試した上でやれるかと言われると、じゃデータくださいになるような気もするし。
0514NAME IS NULL垢版2016/03/13(日) 12:31:18.01ID:???
1000万程度なら瞬時に出るはずで、1秒以上かかるなら何かがおかしいと
疑ってみるべき、そこ直さないとテーブル分割は効果まったくでないと思う
0515NAME IS NULL垢版2016/03/17(木) 16:21:34.64ID:Z/OFxehn
MySQLはストアドの性能が悪いとか書いてあるページがあるが、新しいバージョンでもそうなんだろうか?
Oracleからの移行を検討しているが、ビジネスロジックを実装したストアドをどうすべきか悩む。
0516NAME IS NULL垢版2016/03/17(木) 16:27:20.81ID:PAZiVur5
Oracleより性能良くなったり、同等だったら、
困る会社が出てくるんじゃないの?
0517NAME IS NULL垢版2016/03/17(木) 16:33:54.49ID:???
MySQLもOracleから出てるしなw
0518NAME IS NULL垢版2016/03/17(木) 16:41:35.44ID:???
なんでOracleがMySQLを抱え込んだのかな?
0519515垢版2016/03/17(木) 16:42:38.66ID:???
やっぱそうなんだ
なんでもかんでもPL/SQLで組んだシステムだから、その辺りをアプリケーションサーバー側に持っていくの、かなりしんどいんだよな
0520NAME IS NULL垢版2016/03/17(木) 19:07:49.26ID:???
分析関数使ってる分の代替手段を考えないといけないとか
互換のない部分の心配はしなくていいのかな?
0521NAME IS NULL垢版2016/03/18(金) 18:33:32.38ID:y0os6g14
>>519
MySQLでもストアドプロシージャでいいんじゃないの?
0522NAME IS NULL垢版2016/03/18(金) 18:38:41.40ID:y0os6g14
>>519
アプリケーションサーバとDBサーバが別のコンピュータなら、ネットワーク通信による性能劣化が激しくて話しにならないぞ。
0523NAME IS NULL垢版2016/03/18(金) 18:46:59.67ID:y0os6g14
>>515
ストアドが遅いなんて言っているが、外部からSQL文だけでどうにかしようとする方がはるかに遅くなる。

ストアドが遅いなんて話はMySQLのSQLが遅いだけだろ。

そもそも遅いという話自体が誤解のように感じる。

ストアド嫌いはストアドを悪くいうから気をつけな。

それにシステム全体の性能要件を考えずに遅い、速いを論じても意味がない。
0524NAME IS NULL垢版2016/03/19(土) 13:09:33.84ID:???
保守することを考えてDBに機能を持たせることはやめた
トリガも廃止した
0525NAME IS NULL垢版2016/03/19(土) 18:27:12.42ID:???
個人用途ではMySQLが最強ということでよろしいでしょうか?
0526NAME IS NULL垢版2016/03/19(土) 21:36:13.11ID:ZROC/43k
>>525
MariaDB10.1と言いたいとこだがな。
0527NAME IS NULL垢版2016/03/20(日) 01:25:48.47ID:ab2MYZzy
>>524
性能要件が満たせるのか?
0528NAME IS NULL垢版2016/03/20(日) 01:42:18.91ID:ab2MYZzy
>>524
最近のやつってRDBの良さをつぶす構成を取りたがるのはなんなんだろうな。

RDBをデータの入れ物としか思ってなくて失敗しているシステムをよく見かけるようになってきているけどな。
0529NAME IS NULL垢版2016/03/20(日) 02:04:39.43ID:m1pvylrw
失敗とは言わんが、そんなにパフォーマンス気にするんやったらもっとDBMSに仕事させろやと思う事はある。
0530NAME IS NULL垢版2016/03/20(日) 02:24:19.98ID:ab2MYZzy
Oracle使いこなしているシステムでMySQLにするのに、MySQLに詳しいメンバーがいないなら、その時点でやばいプロジェクトだぞ。
0532NAME IS NULL垢版2016/03/21(月) 18:41:26.25ID:???
PHPでpostしてレンタルサーバーのMySQLに絵文字を入れるため
utf8mb4を使いたいのですがmy.cnfがいじれません
以下のよう既存のデータを変更しても
alter database データベース名 default character set utf8mb4;
character-set-serverとdefault-character-setが変更できないためうまくいきませんでした
何か参考になるサイトなどはないでしょうか
0533NAME IS NULL垢版2016/03/22(火) 02:24:47.41ID:???
>>528
WordPressがもてはやされてる時点でな
使い勝手は良いのかもしれないが、後から拡張できずに失敗してるパターンが目立つ
0534NAME IS NULL垢版2016/03/22(火) 18:44:16.22ID:???
50byte程度のレコードを500万レコードほどINSERTするのに3分近くかかるのですが、
リソースモニタで監視してもCPUもディスクも数%(〜15%程度)しか使用してなく、
何がボトルネックになっているのかよくわかりません。

CPUもメモリも全く余裕なので普通に考えるとストレージのIOなのですが、
リソースモニタでみる限りではディスクも働いてないので、
限界まで引き出せればもっと縮むのではと考え、質問させていただきました。

ソフト側の実装はマルチスレッドで、
各スレッド毎にコネクションを張ってINSERTしまくっています。
処理時間は、5スレッド前後で頭打ちになっているようです。

ハードウェアの主なスペックは下記のとおりです。
Xeon 16コア32スレッド
システムメモリ64GB
データ用ストレージSSDx2のRaid0

OSはWindows10proでMySQL5.7.11x64、my.iniはデフォルトから下記を編集しています。
(作業用端末を兼ねていますが、リソースの3/4はMySQLに割り当ててよいと考えています。)
sync_binlog=0
skip-innodb-doublewrite
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=8G
innodb_log_file_size=4G
innodb_io_capacity=10000
sort_buffer_size=16MB
max_heap_table_size=8G
key_buffer_size=4G

テーブル構造は、下記のような単純なものです。
CREATE TABLE `hoge_table` (
`hoge_id` varchar(127) NOT NULL,
`fuga` int(9) NOT NULL,
`aaa` tinyint(4) NOT NULL,
`bbb` tinyint(4) NOT NULL,
(略)
PRIMARY KEY (`hoge_id`,`fuga`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED;

以上、どこから調整していけばよいでしょうか。
よろしくお願いいたします。
0535NAME IS NULL垢版2016/03/22(火) 20:17:24.82ID:???
プライマリキー二つが重複してないかのチェックにかかりそうな気が
0536NAME IS NULL垢版2016/03/23(水) 11:25:39.99ID:???
大量にINSERTする前にBEGIN 、 終了時に COMMIT 入れたらどうなる?
0537NAME IS NULL垢版2016/03/23(水) 13:09:03.76ID:???
>>535
空からの始めのうちと400万件のころとで1INSERTあたりのレスポンスにあまり差がないので、
そこのコストではない気がしています。

>>536
トランザクションを使う場合と使わない場合を比較してみたところ、
トータルの処理時間としては大した差がでませんでした。
0538NAME IS NULL垢版2016/03/23(水) 13:49:48.59ID:???
キーに原因があるかどうかを確認するために
キー無しで定義してデータ入れてからキー設定してみては
0539NAME IS NULL垢版2016/03/23(水) 13:51:09.00ID:???
ってWindowsか、ファイルシステムはNTFSだろうし、、、
別のOSで別のファイルシステムで試しても同じ数字になるか気になるな、、、
0540NAME IS NULL垢版2016/03/23(水) 15:25:55.66ID:???
>>528
RDBの良さはリレーショナルだけで十分だ
それ以上はいらぬ
0541NAME IS NULL垢版2016/03/23(水) 20:28:25.41ID:Y1xGecwA
               【TPP断固反対(嘘)】   自由ホランチョ党   【スタンフォード(嘘)】



              安倍首相がスタンフォード大前で「嘘つき安倍は帰れ!」と抗議を受ける
                     https://www.youtube.com/watch?v=HkMjwggu3ko
  安倍総理、麻生副総理も経歴詐称? 海外留学の経歴が削除されていた! 「学歴詐称」は公職選挙法違反


                 【日本の金正恩】      安倍寛信      【安倍晋三の兄】

   復活した電力会社の原発広告に文化人や芸能人がまたぞろ登場して原発をPR! 500万円の高額ギャラも    勝間和代 三橋貴明 佐藤優
       三菱商事の核ミサイル担当重役は安倍晋三の実兄、安倍寛信 三菱重工の重役でもあるらしい
     これがフクイチで核弾頭ミサイルを製造していた疑惑がある 書けばツイッターで速攻削除されている
                 ネットにおける言論統制は、非公然で陰湿に進んでいるようです
                 https://twitter.com/toka iamada/status/664017453324726272


                                  山本太郎

                           先ず真のテロリズムと戦うべき!
汚染物質をバラ撒き、国民を無理心中へと巻き込む政治家、経済団体等をテロ指定、資産凍結するのが筋ではないか!


                             【だってお金欲しいもん〜】

               今朝、辺野古で新基地建設に反対するママの会メンバーに対して、
            機動隊員が「お前たちには汚い血が流れている」などと暴言を吐いたそうです。
       自分のやっていることを「だってお金欲しいもん〜」「俺の写真を待ち受けにしろ」とも (顔写真)
               https://twitter.com/MothersNoWar/status/690357793702940672
0543NAME IS NULL垢版2016/03/27(日) 23:47:24.24ID:???
>>533

217 : NAME IS NULL2015/08/10(月) 22:59:49.12 ID:???
何かアドバイスお願いします。
WordPressとMySQLをIISサーバーにインストールしたのですが、
いちおう動いているのですが、何となく動きが遅いんです。
どのページを開いても読み込みに2〜5秒掛かります。

これなんかが良い例。
Wordpressはカスタムフィールドを実現するためにDB設計がクソ中のクソで、
RDBMSの良いところを全部殺しちゃってるからとにかく遅い。

普通にSELECTかけたらアプリ側のロジック込みで0.15秒くらいのことが、
Wordpressだと2秒とか5秒とかかかるのが当たり前になってる。
0544NAME IS NULL垢版2016/03/29(火) 18:13:51.55ID:???
ほんとそれ。
ただ無料だからで飛びつく馬鹿ばかり。
0545NAME IS NULL垢版2016/04/04(月) 15:02:09.68ID:???
全てのトリガーを消し去りたい!
0546NAME IS NULL垢版2016/04/04(月) 15:58:13.33ID:KJ8vhHn3
辛いことがあったのか?
マ板で相談してみたら?
0547NAME IS NULL垢版2016/04/04(月) 16:43:00.52ID:BsFhWNwi
さようなら、MySQL。
こんにちは、MariaDB-10.0.24
0548NAME IS NULL垢版2016/04/04(月) 17:16:59.25ID:???
全てのMariaDBを消し去りたい!
0550NAME IS NULL垢版2016/04/07(木) 01:33:19.28ID:???
PHPPerなのでインデックスがわからなくて困っています。b-treeなどは木構造になっているらしく
javaなどでサンプルが解説されていました。でも、クラスの変数にleft right があり
そこに新しいオブジェクトをつなげていく、というものです。それは少しはわかるんですが
どうしても、実際のHDDのファイル上ではだいたいどうなっているのかがイメージできません。
0551NAME IS NULL垢版2016/04/07(木) 14:53:37.05ID:???
phpmyadmin をインストールしようと思っているんだけど
DBは別サーバにあるので、どうすればいいか気になっています

phpmyadminデータベースを作る必要あると思うんだけど
これあらかじめ作るにはどうすればいいの?
0552NAME IS NULL垢版2016/04/07(木) 15:44:01.75ID:???
いらんでしょ
あとlocalhostにある前提になってないからアクセスできるようにしときゃどこでも置けるよ
0553NAME IS NULL垢版2016/05/01(日) 19:38:34.28ID:n7w94tby
レスポンステーブルに
スレッドID、レスポンスNo、レスポンス先の3つのカラムがあるとして、
レスポンス先に外部キー制約をするにはどうすればいいですか?
自身のスレッドIDと同じかつ、既にあるレスポンスIDに限定したいのですが
0555NAME IS NULL垢版2016/05/03(火) 10:06:31.74ID:???
注意は必要ありません^^
0556NAME IS NULL垢版2016/05/03(火) 10:40:49.39ID:???
ALTER でスキーマ変更中、オリジナルのテーブルが消えるって、
どういうシチュエーションなんだろ?w
0557NAME IS NULL垢版2016/05/03(火) 22:29:40.53ID:???
SELECT COUNT(*) FROM table WHERE col = 'hoge'
だとインデックス使うのに
SELECT COUNT(CASE WHEN col = 'hoge' THEN 1 ELSE null END) FROM table
だとインデックス使わないのはなぜなのか
前者を使いたいんだけどなー
0559NAME IS NULL垢版2016/05/03(火) 23:00:29.03ID:YUywR566
>>558
ウソつけ前者だろ
0560NAME IS NULL垢版2016/05/03(火) 23:12:14.33ID:CwXNjZUS
>>557
たぶんNULLのせい。
0561NAME IS NULL垢版2016/05/03(火) 23:15:40.41ID:CwXNjZUS
>>557
いやWhere句がないせいでフルテーブルスキャンなのかな。
0562NAME IS NULL垢版2016/05/03(火) 23:17:26.13ID:CwXNjZUS
後者にしたいって冗談だろ?
0563NAME IS NULL垢版2016/05/03(火) 23:18:54.43ID:CwXNjZUS
絞り込み条件がなくてインデックススキャンをすると思う理由を聞きたい。
0564NAME IS NULL垢版2016/05/03(火) 23:21:41.83ID:???
>>559-563
SELECT
COUNT(CASE WHEN col = 'hoge1' THEN 1 ELSE null END),
COUNT(CASE WHEN col = 'hoge2' THEN 1 ELSE null END),
COUNT(CASE WHEN col = 'hoge3' THEN 1 ELSE null END),
...
FROM table
みたいに複数一気にカウントしたかったんだよね
というかそもそもインデックスってWHERE限定だったのか・・・
やってることは同じだと思うんだけどなあ
0565NAME IS NULL垢版2016/05/03(火) 23:52:19.14ID:CwXNjZUS
>>564
グループ化かUNION ALLでいいだろ。

変なSQL書くな。
0567NAME IS NULL垢版2016/05/04(水) 12:51:07.19ID:???
>>564
使ってくれるよ
最初の例だとフルインデックススキャンになるけど
0568集ストテク犯被害者必見!垢版2016/05/06(金) 03:45:54.41ID:2BL4Ujuk
[拡散希望!]
参考になりそうなURL送っておきます
電磁波による拷問と性犯罪
http://denjiha.main.jp/higai/archives/category/%E6%9C%AA%E5%88%86%E9%A1%9E
公共問題市民調査委員会
http://masaru-kunimoto.com/
この方たちは集団訴訟の会を立ち上げてマスコミに記事にしてもらう事を目的に集団訴訟を被害者でしようという試みを持っている方達です
訴訟は50人集めてしようという事なのですが50人で訴訟をすると記事に書けるそうです
記事には原発問題を取り上げてテク犯被害を受ける様になった大沼安史さんらが取り上げて下さるそうです
大沼安史さんがテク犯に遭っているという記事
http://ameblo.jp/hilooooooooooooo/entry-11526674165.html
大沼安史の個人新聞
http://onuma.cocolog-nifty.com/blog1/4/index.html
この方たちは電話相談等も受け付けている様で電話番号を載せている方達は電話かけ放題の契約をしていますのでこちらから電話して本人にかけ直してくれと頼むとかけ直してくれます
音声送信被害等を受けている「電磁波による拷問と性犯罪」の記事の水上さんは年金暮らしなので時間には余裕があるそうで宗教等に付随する集団ストーカー等の被害内容の話も聞いて下さいます
もう一人の電磁波犯罪には遭っていない国本さんという方は電磁波犯罪をしっかり理解されている方で年金暮らしの方なので長電話も大丈夫です
大沼さんはこちらのページからメールを受け付けておられる様です
http://onuma.cocolog-nifty.com/about.html
電話をかけたい場合は人によってはメールで電話番号を訊くと教えてくれると思います
この文章を見られた方は全文コピーをしてできるだけ多くの知り合いの被害者の方等にメールを送るなり被害者ブログに書き込むなりしていただければ大変有難いです
もし大勢の方に送る事が出来なければまだこの文章に触れていない知り合いの被害者に少しでも全文コピーで送っていただけるとその方が次の何人かの方に繋いで頂ける場合があり結果として大勢の方に見て頂く事が出来るはずです
ご協力よろしくお願い致します 👀
Rock54: Caution(BBR-MD5:f70dfdc711a7c6ae6accccb939f27fbf)
0569NAME IS NULL垢版2016/05/06(金) 14:48:32.67ID:???
windowsのc#でdb接続して簡単なselectするだけのプログラム実行するとsqlサーバーなら一瞬なのだがmysqlだとconnectionに数秒かかる場合が有ります。selectは一瞬です。dbは同一pc上で動いているのでネットワークの問題ではないと思います。何が原因でしょうか?
0570NAME IS NULL垢版2016/05/06(金) 15:44:59.73ID:???
ちょうはやいからじゃね
0571NAME IS NULL垢版2016/05/06(金) 16:18:51.27ID:LlUwHEuu
>>569
それは何かおかしいな。
0572NAME IS NULL垢版2016/05/06(金) 21:09:03.08ID:???
同じマシンでも名前解決とかしてたら分からんぞ。
0573NAME IS NULL垢版2016/05/06(金) 21:23:59.53ID:EIVo0Akm
それはあるな。

ネットワーク経由で接続している可能性はある。

LANケーブルを抜いて実行したら、接続できなかったりして。
0574NAME IS NULL垢版2016/05/06(金) 22:17:23.57ID:???
windowsファミリィだろ速くて当たり前(個人的な感想)w
0575NAME IS NULL垢版2016/05/07(土) 01:46:52.41ID:LkDUX24l
>>574
馬鹿だなあ、マイクロソフト製品同士でなら大丈夫なんてことはない。
0576NAME IS NULL垢版2016/05/07(土) 05:04:51.25ID:???
>>575
馬鹿だな、しらねーよ、ということだよ
0577NAME IS NULL垢版2016/05/07(土) 05:24:53.19ID:Vc1I9nrF
知らないのに知っているかのように書く馬鹿
0579NAME IS NULL垢版2016/05/08(日) 15:50:24.21ID:???
>>543
wordpressをsqlサーバーで動かすと速くなるかな?
0580NAME IS NULL垢版2016/05/08(日) 16:04:04.51ID:???
WordpressがいけてないのはDBからSELECTする部分ではなく
その内容からHTML生成するphpの作り込みなのかね
0581NAME IS NULL垢版2016/05/13(金) 01:33:55.44ID:???
一概には言えないけど、読み込んでるものの量が多すぎて、もうちょいなんとかならんかったのかとは誰もが最初に感じる所みたいね

あと試したことないけどhtml生成しないAPIモードが追加されてたはず
0582NAME IS NULL垢版2016/05/18(水) 21:24:24.37ID:???
HTML生成は関係ない。

wordpressのデータはリレーションしてないから、
DBからがばっと取ってきて、PHPでループさせてリレーションさせてる。この処理がクソ重い。

PHPはスクリプト言語なのでかなり遅い部類なので当然クソ重くなる。
だから、SQLサーバー使おうがOracle使おうが全く一緒。MySQLのせいじゃない。
根本的にwordpressの設計がクソなことが原因。

PHPプログラマからみても、wordpressのクソさ加減は尋常ではない。
0583NAME IS NULL垢版2016/05/18(水) 21:28:20.36ID:???
もし、wordpressの設計を活かせるとすれば、
それはRDBではなく、NoSQLが必要になってくる。
0584NAME IS NULL垢版2016/05/18(水) 21:32:36.31ID:???
>>582
dbのデータを表示する程度のphpなら、数時間くらい作業したら表示の速い改良版を作れるんじゃないか?
0585NAME IS NULL垢版2016/05/18(水) 21:39:51.83ID:???
>>584

書いてある意味がわからなかった?

リレーションしてねーんだよ。
0586NAME IS NULL垢版2016/05/18(水) 21:59:33.32ID:???
リレーションしてないの意味がわかりません
0587NAME IS NULL垢版2016/05/19(木) 06:45:18.54ID:???
リレーショナル・データベースのリレーションって何だ?ってことなんだけどさ
たまに、複数のテーブルを特定のキーで関連付けて扱える事がリレーションの意味だと誤解してる人がいるけど、
本当はそうじゃない。

1つのテーブルで、
1つのキーに対して同じ構造での行が決まり1つのまとまりとして取り扱えることがリレーションの意味なんだ。

それこそがRDBの最大のメリットであり、使う理由になる。

例えばこう。崩れると思う。すまんな。

ID|name  |mail    |zip  |address1 |address2 |phone    |
------------------------------------------------------------------
1 |jon  |jon@test.com|1234567|東京都  |     |      |
2 |bob  |       |2345678|北海道 |     |01234567890|
3 |mark  |      |3456789|     |アメリカ |      |

このような、行単位の纏まりをリレーションと呼ぶ

たとえば、bobについて取り出したかったら、御存知の通り

SELECT * FROM table WHERE ID='2'

得られる結果は想像つくよな。
0588NAME IS NULL垢版2016/05/19(木) 07:03:43.92ID:???
じゃあwordpressはどうかというと、こう

|meta_id|user_id|meta_key|meta_value|
-------------------------------------
|1   |1   |name  |jon    |
|2   |1   |mail  |jon@test.com|
|3   |1   |zip   |1234567  |
|4   |1   |address1|東京都   |
|5   |2   |name  |bob    |
|6   |2   |zip   |2345678  |
|7   |2   |address1|北海道   |
|8   |2   |phone  |01234567890|
|9   |3   |name   |mark   |
|10   |3   |zip   |3456789  |
|11   |3   |address2 |アメリカ |

大体こんな感じで、1つのキーに対して20とか30とか、キーごとのバラバラなレコードが登録される。

これをbobについて>>587みたいな結果を取り出したかったら何するかわかるだろ。
こんなのを正規化と呼ぶなら、そいつは本物のバカだ。

wordpressは基本的にこういうDBの扱いをしていて、あらゆる場所でこんなのの整形をループで回してる。
実際にはこれと別のテーブルをキーで関連付けてJOIN相当のことをしょっちゅうやる。
それはもう、wordpressのコード全体にまんべんなく存在しているし、
何よりwordpressの最大の売りである数多のプラグインが、こういうレコードを取り扱うことを前提に作られてる。

だから「数時間くらい作業したら表示の速い改良版を作れるんじゃないか?」とか、
冗談はよしこさんなわけ。

wordpressはマトモな抽象化もされてないフラットなクソ構造のコードだから、
改良したいと思うなら1から作りなおしたほうが早いだろう。
0590NAME IS NULL垢版2016/05/20(金) 07:39:34.24ID:???
Mysql Workbenchでテーブルを表示した時に、左端に行番号を
0
1
2
3
のように表示できる?
0591NAME IS NULL垢版2016/05/22(日) 16:16:35.80ID:???
うっかりdropしたテーブルを復活させる裏技を教えてくれ
0594NAME IS NULL垢版2016/05/22(日) 18:48:09.86ID:???
>>592
直前にselect * from Table名 で取り出したデータがWorkbenchのresult grid
に残っていたので、それをcsvにexportしてimportでテーブルに読み込んでみたら、
utf8を指定したにもかかわらず、カラムが認識されないのはなぜかしら?
0596NAME IS NULL垢版2016/05/22(日) 21:39:40.94ID:???
データベース作っておいて、バックアップを取ってないとか
0597NAME IS NULL垢版2016/05/22(日) 22:32:43.24ID:???
うっかりdropしてもwindowsのゴミ箱みたいなのに入っているとか、そう言う仕組みがあるdbはないの?
0598NAME IS NULL垢版2016/05/23(月) 09:39:59.03ID:???
トランザクションログ取ってればいつでも任意の時点に戻せる
0599NAME IS NULL垢版2016/05/23(月) 10:21:32.14ID:???
>>598
さっそく調べてみます。ありがとうございました。
0600NAME IS NULL垢版2016/05/25(水) 00:17:37.98ID:???
MySQLでwhere節で 文字列を < とか > で比較するとき
辞書比較になります っていうのはマニュアルの
どのあたりに書いてありますか?
0601NAME IS NULL垢版2016/05/26(木) 09:43:24.79ID:???
いいねボタンの実装で
いいねしたユーザーidとされた記事idだけのシンプルなテーブル作ろうかと思ってるんですけど、やはり何百万件にもなるとカウントに時間かかるからカウント数のテーブルも用意したほうがいいですかね?

ツイッターとかfacebookとかどうなってるんでしょうかね
0602NAME IS NULL垢版2016/05/26(木) 14:16:53.45ID:???
>>601
何百万件程度なら特に問題はないと思う
0603NAME IS NULL垢版2016/05/26(木) 14:17:58.65ID:???
合計値を表示する頻度にもよるしな
0604NAME IS NULL垢版2016/05/28(土) 10:12:39.40ID:???
auto_incrementsでidキーを指定しているのですが、

もしidキーの値が最大値を超えようとする時、
バックアップなどを取ってデータを保持したままintからbigintに変更できたりできるのでしょうか?

できなければ初めからbigintしようかと思うのですが…
0605NAME IS NULL垢版2016/05/28(土) 12:35:56.34ID:qY4lKSoR
あえて困難に挑むチャレンジャースピリットやね
てか事前にデータ量見積もったりしないんか?
0606NAME IS NULL垢版2016/05/28(土) 13:46:28.28ID:???
MySQLなら普通にalterできる予感。
0607NAME IS NULL垢版2016/05/28(土) 15:05:07.53ID:???
普通に>>606のようにalterで出来るでしょ。つうか、 unsigned intで4294967295まで取れるのにそれを超える?
と予想されるんなら最初柄bigintにしておけば
0608606垢版2016/05/29(日) 06:17:16.21ID:???
MySQLは運用中でも好きなだけalterしてくださいって中の人が言ってたから、
オレは闇雲に盲信してま。
0609NAME IS NULL垢版2016/05/30(月) 08:24:38.98ID:???
消費ペースを見積もって何年で枯渇するか計算してみればいい。
見積もれないなら10年で枯渇させるには1日幾つ消費するか計算すればいい。
0610NAME IS NULL垢版2016/06/02(木) 20:13:21.77ID:???
twitterのようなDMシステムを構築する場合、
どのような構造にすればよいのでしょうか?
0611NAME IS NULL垢版2016/06/08(水) 00:33:28.05ID:???
>>607
でかい著名サービスでうっかり越えた件というとyoutubeくらい?
0612NAME IS NULL垢版2016/07/01(金) 09:55:47.12ID:F3mLiWRE
ご存知でしたらご教示ください
MySQLからODBCドライバで外部DBに接続する事は可能でしょうか?
0614NAME IS NULL垢版2016/07/05(火) 22:23:15.90ID:???
mysqlを最近使い初めてパフォーマンスについて勉強中なのですが腑に落ちない教えてください。
innodbの列数30でキーは主キーのみテーブルに
1レコードをインサートしてはコミットするという処理を20万回ループさせ
インサートの時間とコミットにかかった時間を測ってみました。
最初はコミットがボトルネックだったのに
1万回ぐらいからはループ内でのインサートの遅さが2次関数的に目立ちはじめ
中盤には9割りがたの時間をインサートに費やしてるという状態でした。
が、インデックス更新に時間がかかるとはいえ
ディスクアクセスを伴うコミットよりもインサートはこうも遅くなるものなのでしょうか。
コミット時にはディスクにフラッシュする設定になっており
ログサイズはデフォルトですがバッファ使用率もメモリ使用率も低い状態でした。
0615NAME IS NULL垢版2016/07/05(火) 22:29:07.89ID:???
長文すみません・・・。
補足ですが何が知りたいかというと
単にインサート1000回ごとにコミットするといったようにすれば速くなるのかと思ったのですが
インサートに時間がかかるなら考え直さないといけないなと悩んでいる次第です。
0616NAME IS NULL垢版2016/07/06(水) 00:06:56.18ID:???
データベースから最新の50件を取り出して、それを古い順に並べたいんですけど
どうしたらいいでしょうか

SELECT * FROM table_name ORDER BY num DESC LIMIT 50

これで最新の500件を取り出したのですが、このままですと新しい順に
表示されてしまいます

よろしくお願いします
0617NAME IS NULL垢版2016/07/06(水) 00:25:41.71ID:???
select * from
( select * from table_name order by num desc limit 50) t
order by num asc;

とかなんとか
0618NAME IS NULL垢版2016/07/07(木) 07:29:54.35ID:???
クエリーログなんですがエラーが出るようなクエリーを投げた場合に
エラーが出たということとエラー原因もクエリーログに含める方法って無いですか?
0619NAME IS NULL垢版2016/07/09(土) 17:44:16.21ID:???
すいません一昨日ほどからmysql勉強を始めたのですが、わかる方いらしましたら
教えていただきたいです。
2つのテーブルを内部結合するとき
select*from A inner join B on A.a = B.b
でAテーブルのaとBテーブルのbをひも付けたテーブルができるかと思いますが
この時のテーブル名は何になるのでしょうか?

alter table A inner join B on A.a = B.b rename to Cとして新しいテーブル
に書き換えて作業シたいのですがエラーが起きてしまいます・・・
0620NAME IS NULL垢版2016/07/09(土) 21:01:01.84ID:???
insert into tblC
select * from tblA
〜;
でselectした結果をtblCに入れることは出来るはずだからselectが正しく出来てんのなら
(当然カラムのデータタイプやら順序やらは一致してんだよな。一致していないのなら個別に指定
しなきゃならんけど)出来るでしょ

なんでそこでalterが出てくるのか知らんけど
0623NAME IS NULL垢版2016/07/12(火) 16:59:49.03ID:???
>>614
テーブル自体がでかくなってるからどこに突っ込むか探すのに手間がかかってる予感
インデックスのバッファを増やせばいいのかも
0624NAME IS NULL垢版2016/07/13(水) 19:11:45.39ID:???
>>623
ありがとうごさいます。
AccessからADOで使ってたんですがRecordset.openで全レコードselecされてたのが悪かったみたいです。
普通にinsert intoしたら速くなりました。
0625NAME IS NULL垢版2016/07/14(木) 01:14:44.93ID:???
インデックスの更新というのは、インデックスの後ろの方に追加するだけで
そのテーブルを検索する時は、インデックスをバイナリサーチで検索した後
見つからなければ後ろの方を順探索で検索する。
インデックスを再編成すれば順番通りに並ぶ、という認識であってるかな?
0626NAME IS NULL垢版2016/07/14(木) 01:38:45.45ID:???
ここで募集するのも筋違いだとおもうけど、SQLの文を書いたのを訂正してほしい・・・
中級者には30分ほどでおわる内容かも。
謝礼は7000で、
多分、チョー簡単。
詳しくは
remorse2015@yahoo.co.jp
日曜までとりあえず募集します。
メールで内容確認だけでも良いです/
0627NAME IS NULL垢版2016/07/14(木) 23:26:17.63ID:???
>>625

あれ? B-tree ってそういう仕様じゃなかったと思うんだけど…
0628NAME IS NULL垢版2016/08/01(月) 01:37:57.26ID:adrErjTr
Maria様がみてる
0632NAME IS NULL垢版2016/08/08(月) 10:32:30.88ID:mFJNUOh1
データベース勉強中で、WindowsFormと連携する簡単な帳票ソフトをつくっているのですが、
MySQL側に保存する型として、たとえば男、女の区分を保存する場合、
真偽だけの情報にしておいて、アプリケーション側で判定して性別を表示させる場合と
VARCHARあたりで、「男」「女」の文字列で保存する場合とでパフォーマンスに影響するのでしょうか?
例としては文字数が短いですが、規模が大きくなったときに速度を左右するのでしょうか
0633NAME IS NULL垢版2016/08/08(月) 10:39:05.45ID:???
心配するような影響は出ないと思うけど
入力が漢字入れられない環境だったり
最終出力が日本語じゃなくて多言語対応する可能性があるから
bool か f m くらいにしといてはfemale male でもいいけど
0634NAME IS NULL垢版2016/08/08(月) 10:42:54.30ID:???
SQLソース上で、男と女の文字を頻繁に書くことになるよ
1や2で分かりにくいと思うなら、MとFでも良いような
0635NAME IS NULL垢版2016/08/08(月) 10:50:44.75ID:???
不明な時はどうするの?
0636NAME IS NULL垢版2016/08/08(月) 11:16:42.89ID:???
null許容しないならbool以外でu とか unknownとかにしては
0637NAME IS NULL垢版2016/08/08(月) 11:28:44.72ID:???
初期値(未回答)、男、女、回答なし
0638NAME IS NULL垢版2016/08/08(月) 11:34:23.70ID:???
とりあえずboolで設計するのだけはやめておけ という話だよ
0639NAME IS NULL垢版2016/08/08(月) 12:21:00.06ID:rO17hZlI
未回答と回答なしの違いについて
0640NAME IS NULL垢版2016/08/08(月) 13:09:13.41ID:???
みなさまレスありがとうございます
>>633
よくわかりました

特別boolだけにこだわっているのではなく、たとえばINT型にして
アプリ側で数値にあわせて値を表示させるでも良いのですが、
単純にデータ件数が1万とかになり、カラム数も10とか20になったときに
文字列保存したのと、boolやINT型で保存した場合とでデータ量そのものの違いによって
ネットワークでのやりとりやデータ処理に時間差がでないのかなと思った次第です
0641NAME IS NULL垢版2016/08/08(月) 21:20:42.08ID:???
カラム数なら100、データ件数なら10万を超えるまでは正味大差ないよ
それまでの規模で遅いクエリは絶対にインデックスがおかしいし
0642NAME IS NULL垢版2016/08/10(水) 09:36:55.97ID:???
MySQL糞難しい!!
本読んでも簡単な例文しか書いてねえ!!
0643NAME IS NULL垢版2016/08/10(水) 10:05:56.82ID:???
SQLを知らない人がいるとは
0645NAME IS NULL垢版2016/08/10(水) 22:44:22.07ID:NBeLURnn
難しいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい

うぁああああああああああああああああああああああああああああああああああああ
0647NAME IS NULL垢版2016/08/11(木) 22:04:04.68ID:???
MySQLのboolはただのtinyintだったよね。
0648NAME IS NULL垢版2016/08/12(金) 10:52:20.29ID:qug0/o6z
ライセンスについてですが、個人でちょこちょこ作っていて、
知人にソフトを依頼され、MySQLとWindowsFormでちまちま作っているんですが、
知人の会社からソフト代金をいただく予定になっており、
これって商用ライセンスがいるのでは?と思いPostgreSQLに変えた方がいいのではと思っているところです

公式みるとStandardでも年間20万を超えてますが、たかだか10万程度のソフトでも
1販売ごとにこのラインセンスがいるってことでしょうか?(ソース公開しないことを前提とすると)
さらに毎年20万払わないとだめってことでしょうか
0649NAME IS NULL垢版2016/08/12(金) 11:03:54.44ID:???
補足です
サーバ(LinuxにMySQLサーバをインストール)は会社が用意してくれます
依頼されて対価を受け取るのは、サーバに接続してデータのやりとりをする
WindowsFormのクライアントソフトです (connectorは当然のごとく使っています)
0650NAME IS NULL垢版2016/08/12(金) 23:09:01.93ID:???
納品先の会社からソース開示請求があったら応じることができる、つまりソースコードを渡せるのなら問題ないと思うけど。
0651NAME IS NULL垢版2016/08/15(月) 12:15:51.45ID:???
逆算式SQL教科書ってのを図書館で借りてきた。これは結構分かりやすい。
0652NAME IS NULL垢版2016/08/15(月) 17:11:49.43ID:???
ああ、アレね。俺も読んだよ。最後が一気に難しくなるんだけどw
0657NAME IS NULL垢版2016/08/26(金) 00:23:22.32ID:OXHkcca9
レンタルサーバで利用できるデータベースの数は
20個や30個など上限がありますが
データベース数の上限はMySQL側で設定できるのでしょうか?
0659NAME IS NULL垢版2016/08/28(日) 09:51:54.81ID:???
>>657
MySQL側には制限はなく、OS側に設けた制限だと思います
0660NAME IS NULL垢版2016/09/05(月) 21:09:34.27ID:???
twitterのメッセージはどのようなデーブル構造になっているのですか?
1:1とグループのメッセージは同じテーブルに格納されていたりするんですかね
0661NAME IS NULL垢版2016/09/09(金) 11:01:53.54ID:???
win10からlinuxサーバーのmysqlテーブルに日本語書いたら文字化けしてます。
ワークべんちで確認しました。
対策を教えて下さい
0662NAME IS NULL垢版2016/09/12(月) 20:44:36.53ID:???
>>661
テーブルの文字コードとクライアントが接続するときの文字コードが異なってるんじゃないでしょうか?
私は「utf8mb4_unicode_ci」というので同じにしてます
0663NAME IS NULL垢版2016/09/13(火) 09:17:36.67ID:???
http://www.itmedia.co.jp/enterprise/articles/1609/13/news055.html

MySQLに重大な脆弱性見つかる、パッチ存在せずデフォルトで影響
攻撃に利用された場合、root権限で任意のコードを実行され、サーバを制御される可能性が指摘されている。


 研究者は7月29日にOracleに報告したほか、影響を受けるPerconaDBやMariaDBなどのベンダーにも通報。
PerconaDBとMariaDBのパッチは8月30日までに公開され、
Oracleは10月18日に公開する定例パッチで対処を予定しているという。
0664NAME IS NULL垢版2016/09/13(火) 14:25:20.98ID:TW29Pz3Z
修正パッチのリリース速度みてると
MySQLって使うの躊躇する・・・
0665NAME IS NULL垢版2016/09/13(火) 17:32:02.68ID:???
テーブルのキーについて質問です。
複数カラムでプライマリーキーをはってクリエイトテーブルした際、
sqlserverなどは自動的にインデックスも作られるんですが、
MySQLもそうなんですか?
0666NAME IS NULL垢版2016/09/13(火) 20:14:47.05ID:???
>10月18日に公開する定例パッチで対処を予定しているという。

遅っ
0667NAME IS NULL垢版2016/09/14(水) 22:38:14.57ID:???
プリマリキーの一意性の保証はインデックスを使って実装されるから、
インデックス自動で作られるよ普通は。どのデータベースも。
0668NAME IS NULL垢版2016/09/15(木) 11:18:55.53ID:???
インストールされているMySQLが64ビットなのか32ビットなのかの確認ってどうするんですか?
PC自体はwin7(home 64ビット)なんですが。
0669NAME IS NULL垢版2016/09/15(木) 11:53:41.52ID:???
プログラムから確認するとか実行しないで確認する必要ある?
実行中ならタスクマネージャーでプロセス一覧出して *32 がついてなけりゃ64bit
0670NAME IS NULL垢版2016/09/15(木) 11:55:53.60ID:???
うちで見てみたけど、タスクバー右クリックでタスクマネージャーの起動えらんで
すべてのユーザーのプロセスの表示押して mysqld.exe が *32 ついてなかった
0671NAME IS NULL垢版2016/09/15(木) 12:00:14.83ID:???
>>669
ありがと。いや、次にバージョンアップする際に現在のMySQLが32ビットか64ビットのどっちだったっけと思ったもので。
0672NAME IS NULL垢版2016/09/15(木) 13:59:16.09ID:???
バイナリ見るんだったら、depends.exe探してきて読ませるとわかるよ
そもそもインストーラーに表示なかったんかな
0673NAME IS NULL垢版2016/09/15(木) 21:32:05.74ID:???
workbenchとかで接続したら表示されなかった?
0675NAME IS NULL垢版2016/09/16(金) 14:41:29.71ID:???
main-table
|id|hoge|foo|array|

array-table
|id|data|

のようなテーブルがあります
このようなテーブルをselectするにはどうするのがいいのでしょうか?
main-tableで検索した後に、プログラムでforを回してarray-tableを取得すると遅くなってしまいます

var data=query("SELECT * FROM main-table WHERE /*条件*/");
foreach(var d in data){
  var arr=query("SELECT * FROM array-table WHERE id="+d["array"]);
  //処理
}

のような感じです(言語は適当です)
0676NAME IS NULL垢版2016/09/16(金) 14:47:53.30ID:OFTax4sH
二つのテーブルにあるidがプライマリーキーで
一方にある場合は他方にも必ずあるという前提か
同じid値が複数あったり、あるいはない時もあるという前提か、
その辺を補足して
0677NAME IS NULL垢版2016/09/16(金) 14:59:22.06ID:???
結合して、一気に全部取得するとか。
select * from main-table a inner join array-table b on a.id = b.id
0678NAME IS NULL垢版2016/09/16(金) 15:09:32.17ID:???
>>676
main-table.idはauto_incrementで、array-table.idはmain-table.idと外部キー制約で繋がっています
長さ0の配列の場合はmain-table.idがarray-table.idにはありません
0679NAME IS NULL垢版2016/09/16(金) 15:21:01.87ID:???
あ、すみません
main-table.arrayはいりません
0681NAME IS NULL垢版2016/09/16(金) 15:31:55.33ID:???
JOINを使うと長さ0の配列の時に取得できません
ResultSet#getArray(int index)で取得したいです
0682NAME IS NULL垢版2016/09/16(金) 15:33:48.09ID:OFTax4sH
select * from `main-table` m left join `array-table` a on m.id=a.id;
0683NAME IS NULL垢版2016/09/16(金) 15:36:54.29ID:OFTax4sH
array への格納はアプリ側でやるといい

テーブル名にマイナス記号使うのはやめてほしい
0684NAME IS NULL垢版2016/09/16(金) 15:37:48.74ID:???
set型とかあったのか
重複する必要ないし、順序も関係ないデータだから使えるかも
0685NAME IS NULL垢版2016/09/16(金) 15:39:06.19ID:???
あ、javaのsetとは違った
enumみたいなのか
0686NAME IS NULL垢版2016/09/16(金) 15:42:39.52ID:???
>>683
すみません
マイナス記号とアンダーバー間違えました
0687NAME IS NULL垢版2016/09/16(金) 18:11:26.16ID:???
じゃあ他にも色々間違えてんのやろ
0688NAME IS NULL垢版2016/09/20(火) 01:50:35.85ID:???
|pref_id|user_id| date      .|value|
-------------------------------------
|1   |1   |2016/09/20 10:00:00|北海道
|2   |2   |2016/09/20 10:00:00|青森
|3   |1   |2016/09/20 09:00:00|岩手
|4   |3   |2016/09/20 09:00:00|秋田
|5   |1   |2016/09/20 08:00:00|山形
|6   |2   |2016/09/20 10:00:00|福島
|7   |2   |2016/09/20 06:00:00|茨城
|8   |2   |2016/09/20 07:00:00|栃木
|9   |3   |2016/09/20 05:00:00|群馬

dateを降順ソートしたとき,一番上の値を持つレコードだけを吐かせるsql文ってある?

↓一発でこれらだけを取り出したいんだが
|1   |1   |2016/09/20 10:00:00|北海道
|2   |2   |2016/09/20 10:00:00|青森
|6   |2   |2016/09/20 10:00:00|福島
0689NAME IS NULL垢版2016/09/20(火) 01:56:36.05ID:???
>>688
select * from table where date = (select max(date) from table);
0692NAME IS NULL垢版2016/09/20(火) 09:39:06.41ID:???
複数あるんだ、勘違いした。
ごめんな
0693NAME IS NULL垢版2016/09/20(火) 19:47:47.35ID:6yP0a5MT
有能PGの方教えてください><;
mysqlをデータソース接続できません!
何か初心者が間違えやすいまたは見落としやすい設定とかありますか?
0694NAME IS NULL垢版2016/09/20(火) 20:18:27.02ID:6yP0a5MT
sql単体で扱う人ばかりじゃないでしょう?
システムからdrivermanagerを使わずに接続するのがプロい人はおりませんか
0695NAME IS NULL垢版2016/09/20(火) 20:18:29.14ID:6yP0a5MT
sql単体で扱う人ばかりじゃないでしょう?
システムからdrivermanagerを使わずに接続するのがプロい人はおりませんか
0696NAME IS NULL垢版2016/09/21(水) 10:31:13.43ID:???
もはやどう間違うのか想像もつかないから
やってダメだった手順書いてくれないかな
0697NAME IS NULL垢版2016/09/21(水) 11:31:46.41ID:ICgv6cmo
MySQLをインストールしてコマンドラインクライアントからアクセスしてデータベースとテーブルを作成。
EclipseからのMySQLにアクセスをスクラップブックからはできてて、↑で作成したテーブルまで見れてるんだけど
データソースからアクセスできないんだよね
 ・WebContent/META-INF/context.xmlファイルを作成
   <?xml version=
0698NAME IS NULL垢版2016/09/21(水) 11:33:57.60ID:ICgv6cmo
普通にDAOからドライブマネージャからはMySQLの値は取れてるんだけどデータソースからは無理でつまってるんだよね
わかる人いるかな
0699NAME IS NULL垢版2016/09/21(水) 11:50:25.31ID:???
それ全部ローカル上だけで完結?
ユーザーも問題ないとなると、、こっちで試してみるしか無いか
0700NAME IS NULL垢版2016/09/21(水) 11:57:17.76ID:gq/zlC6V
>>699 そうローカルの話なんだけど、context.xmlファイルを作って、データソースからmysqlに接続したことある?
0701NAME IS NULL垢版2016/09/21(水) 12:00:44.40ID:???
mysql用のodblドライバをインストール
コントロールパネル→管理ツール→odbcデータソースアドミニストレータで確認

で、出来ないなんだったら判らん。
0702NAME IS NULL垢版2016/09/21(水) 12:02:05.72ID:gq/zlC6V
>>701 いや、その気持ちだけで嬉しいよ。
やってみる
0703NAME IS NULL垢版2016/09/23(金) 10:25:59.42ID:i80GORgd
近所のヤマダ電機に言ってみた。
iPhone7が余裕で手に入りそうな雰囲気。
御用ライターが、一生懸命盛り上げているが、
この新機種の売れ行きはさんざんなものになりそうだ
https://twitter.com/onodekita/status/778937003840671744
0704NAME IS NULL垢版2016/09/26(月) 15:46:06.35ID:hb8ZTm+s
そうなの?
近所のドコモショップは全製品予約扱いだったな
0705NAME IS NULL垢版2016/09/29(木) 13:14:26.56ID:???
質問失礼いたします。
activeperlのppmからDBIやDBD-mySQLをインストールしようとしたのですが、見つかりませんでした。
最初はactiveperl5.8でppmを調べたらどちらもなく、次に最新の5.24で探したら
DBIのみありました。
どちらも無料のものです。

有料版でないと、DBD-mySQLは無いのでしょうか。ご教示願います。
0707NAME IS NULL垢版2016/10/02(日) 17:36:40.13ID:???
DATETIME型を持つレコードを、一日ごとに検索するにはどうしたら良いですか?

やりたいことは、PHPからSELECTを10回呼び出して

1回目は今日(2016/10/02)の日付をもつのデータ取得
2回目は(2016/10/01)の日付をもつのデータ取得
3回目は(2016/09/30)の日付をもつのデータ取得
……
と言った感じで月をまたぐこともあり
スマートな取得のしかたを教えて下さい

あとDBって縦がカラム、横一列がレコードと呼ぶけど、レコード内のある一個の要素はなんて名称?
0708NAME IS NULL垢版2016/10/02(日) 19:01:21.36ID:lo9ugOK5
>>707
スレ違い
GROUP BY DATE_FORMAT(カラム名, '%Y/%m/%d') とかでやればいいんでないの?
0710NAME IS NULL垢版2016/10/02(日) 21:18:11.17ID:???
>>707
>レコード内のある一個の要素

フィールド
0711NAME IS NULL垢版2016/10/03(月) 09:17:00.02ID:???
まあSQL内で日付の足し算できるからそれで
普通は一回でやろうとするもんだけどね
0712NAME IS NULL垢版2016/10/05(水) 19:15:35.90ID:???
from HOGE join PIYO using (CHINKO)
from HOGE join PIYO where (HOGE.CHINKO=PIYO.CHINKO)

using の方が速そうに思えるけど、どっちが速いの?
0713NAME IS NULL垢版2016/10/05(水) 19:17:53.61ID:3SNPRyIe
HOKE.CHINKOをさしおいて速さを競うとか素人かw
0714NAME IS NULL垢版2016/10/05(水) 20:03:36.67ID:???
早いのは早漏、って釣られてしまった・・
0715NAME IS NULL垢版2016/10/06(木) 08:22:40.30ID:???
>>712
どうでもいいけどそのDB名やテーブル名をどうにかしろまず
0716NAME IS NULL垢版2016/10/06(木) 11:00:58.18ID:???
>>712
on じゃねえの?
usingは同じ名前の時限定だけど、速さより見やすさで選べ
0717NAME IS NULL垢版2016/10/06(木) 11:37:52.57ID:???
>>716
usingとwhereの違いの話な
onとusingはエンジン内では等価だから変わらん
0718NAME IS NULL垢版2016/10/06(木) 12:22:57.29ID:???
なんで onじゃなくて using使ってんの?
0719NAME IS NULL垢版2016/10/06(木) 20:07:51.51ID:Kx5+i6kN
今までレスした人で本当はusing知らなかったって人挙手
0720NAME IS NULL垢版2016/10/06(木) 22:48:22.07ID:???
USING のほうが短いしわかりやすいでしょ
0721NAME IS NULL垢版2016/10/07(金) 22:46:13.46ID:???
mysql限定時はusing使うけど、
汎用ライブラリ書くことが多かったので基本、onにしてる。めんどくさいけど。
0722NAME IS NULL垢版2016/10/07(金) 23:06:01.83ID:AVDdKceV
質問なんかそっちのけ!この秋はusingコーデで皆の視線を独り占め!
0723NAME IS NULL垢版2016/10/08(土) 00:58:01.59ID:???
Mysql限定にしなくても、普通に他のDBMSでもUSING使えるだろ・・
oracleやらpostgresqlやら・・
0725NAME IS NULL垢版2016/10/08(土) 11:39:32.79ID:???
>>723
なるほど、SQL辞典で調べ直したら、
使えないのはSQL Server、DB2、Accessとかどうでもいいのばっかりだった。

ちょっと誤解してたみたい。ありがとう、>>723
0726NAME IS NULL垢版2016/10/21(金) 13:11:45.37ID:???
LIKE検索でスペースを無視したいときはどうしたらいいの?

たとえば %hoge で検索するとき
"123hoge " はヒットしてほしいけど
"456hogew" はヒットしてほしくない、など
0727NAME IS NULL垢版2016/10/21(金) 14:18:35.63ID:???
>>726
何で末尾の空白を事前に除去してからdbに書き込まないの?
0728NAME IS NULL垢版2016/10/21(金) 14:42:56.00ID:DiOhHmv5
where hage like ‘%hoge ‘ or hage like ‘%hoge’
0730NAME IS NULL垢版2016/10/21(金) 22:38:54.77ID:???
MySQLに置換関数あるなら、スペースを空文字列で置き換えてLike
where replace(column, ' ', '') like '%hoge'
とかできんのかな?
0733NAME IS NULL垢版2016/10/23(日) 14:19:21.03ID:zFCcFz9D
MySQLlってadminツールないの?
0734NAME IS NULL垢版2016/10/23(日) 14:30:40.83ID:???
MySQL workbench以外では知らない
以前はNavicat Liteって無償で使えるやつがあったけど今はそれは終わってる
(それより前にダウンロードしたやつは保存してるけど)
0735NAME IS NULL垢版2016/10/23(日) 14:39:53.09ID:zFCcFz9D
adminツールの類いなら、データベースの表なりビューのスナップショットから表のカラム名
含めた中身をcsv形式でエクスポートできるじゃん。
なんで、SQLでやろうとするのか理解できないね。
0736NAME IS NULL垢版2016/10/23(日) 18:02:07.10ID:???
とんちんかんなやり取りってこういうのを言うんだよね
0737726垢版2016/10/24(月) 12:29:27.50ID:???
>>730-731
ありがとう。 助かりました。
0738NAME IS NULL垢版2016/10/24(月) 21:32:30.64ID:KO4vEnHD
>>736
よく自覚してんじゃん
0741NAME IS NULL垢版2016/11/12(土) 21:15:15.17ID:???
来月あたりPCを買い換えようと思いついでにXAMPP入れようかなとサイト見たら
MariaDBになってんのね
どないしよw
0742741垢版2016/11/15(火) 15:56:52.03ID:???
MAMP ってやつがMySQL使ってるからこっちの方ということで
0743NAME IS NULL垢版2016/11/15(火) 22:47:26.53ID:???
結論出てるから良いかもだけど、過去のバージョンもDL出来たはず
0744NAME IS NULL垢版2016/11/16(水) 12:15:06.84ID:???
XAMPPとかはまとめて手軽にできるようになってるだけで
個別にやってもいいわけだし
0745NAME IS NULL垢版2016/11/20(日) 16:10:58.65ID:???
myqsl にrootで入り、
select host,user,password from mysql.user;
としたんですが、passwordの項目が暗号化?されていて判らんwのですけど、これって設定した
パスワードが何かって判る方法あります?

version 5.6.19です
0746NAME IS NULL垢版2016/11/20(日) 16:21:52.90ID:???
ユーザーを作成した人に聞けばすぐ分かる
0747NAME IS NULL垢版2016/11/20(日) 23:11:11.59ID:???
>>745
rootのパスワードと同じじゃあないのか?
0748NAME IS NULL垢版2016/11/21(月) 00:37:11.29ID:???
>>747
あ〜、知りたかったのはrootのじゃなく、他のユーザーのです。言葉足らずでした。
んで、オマケに自分で作ったユーザーなのにアレっ?ていう事で^^;
暗号化された文字列を元に戻す関数はないっていう事みたいですし、とりあえず、set password for 〜で
今回は設定し直しました
0749NAME IS NULL垢版2016/11/24(木) 01:35:10.61ID:MJxe8PgG
無っちゃ過疎ってるな。

ところでCSE ってソフト10年位前まで使っていたけど
最近は、 HeidiSQL になってるの?
0750NAME IS NULL垢版2016/11/27(日) 18:19:05.75ID:y8nJ2HA4
質問スレが機能してなさそうなのでこっちで聞くね

Phpmyadmin使ってる人いる?
0751NAME IS NULL垢版2016/11/27(日) 18:22:15.78ID:RZWMptaf
>>750
死ね
0754NAME IS NULL垢版2016/11/28(月) 20:50:39.28ID:uyPMakpt
カラム名というか列名の正式名称は「カラム名」でいいの?
それとも別の名前がついてる?
0755NAME IS NULL垢版2016/11/28(月) 21:53:34.79ID:???
「カラムの名前」とか「列の名前」とか何とでも言えそう・・
さすがにカラムタイトルはあんまないと思うけど
0757NAME IS NULL垢版2016/11/29(火) 16:08:30.54ID:Pr5SeoDA
さくらインターネットでMySQLの接続待機時間を
8時間→1分に変更したいのですが、どうすればいいですか?

さくらのスタンダードプランでmy.cnf の編集とかできますか?
0758NAME IS NULL垢版2016/11/29(火) 20:40:12.89ID:???
こちらサクラのサポートセンターですw
0759NAME IS NULL垢版2016/11/29(火) 21:53:47.18ID:???
というわけで、ここで返事待つよりさくらのサポセンに電話なりメールなりしようw
0760NAME IS NULL垢版2016/12/05(月) 00:46:16.76ID:bgZJXXpZ
神宮球場ってMySQLの持ち込みできる?
0761NAME IS NULL垢版2016/12/05(月) 00:50:00.10ID:VFKpL/gb
oracle しかだめ
0762NAME IS NULL垢版2016/12/05(月) 12:49:09.95ID:???
MySQLはOracle製品だからOKか
0763NAME IS NULL垢版2016/12/05(月) 15:28:04.54ID:???
案の定ネタか
ttp://raptor.2ch.net/test/read.cgi/livejupiter/1461796881/
0765NAME IS NULL垢版2016/12/09(金) 13:14:37.42ID:hBNr9Hs+
変な質問ですけど、orderする時って、
id(pk)とdateカラムとどっちが速いとかあるんですかね?

SQL文のわかりやすさで、「order by date desc」とかしてますけど、
idの方が数字だけなんで速いような気がしています。
0766NAME IS NULL垢版2016/12/09(金) 17:04:54.96ID:???
普通はインデックスとかはるから気にしなくていいと思う。
プライマリーキーなら通常で自動でインデックスがはられるだろうし。

もちろん、普通に比較する場合は,idが整数値ならidが速いかもしれんが、

https://dev.mysql.com/doc/internals/en/date-and-time-data-type-representation.html
でも、これみると結局、日付型も内部的には単なる数値の比較で済むようになってるし。
0767NAME IS NULL垢版2016/12/09(金) 17:07:17.56ID:???
dateにインデックスはられてなきゃ、idの方が速いと思うけど。
もちろん、データ件数が少なかったらあんま差でなく
なるかもしれん。
0768765垢版2016/12/09(金) 18:25:08.45ID:???
>>766-767
レスありがとうございます。やっぱりidの方が速いですよね。
でも、気にするほどではないとの事ですので、date型も使います。
0769NAME IS NULL垢版2016/12/11(日) 17:12:10.13ID:???
id| datetime    
--+-----------------
1 | 2016-12-11 17:00
2 | 2016-12-11 17:01
1 | 2016-12-11 17:03
3 | 2016-12-11 17:04
2 | 2016-12-11 17:06
3 | 2016-12-11 17:06
1 | 2016-12-11 17:07
2 | 2016-12-11 17:07
3 | 2016-12-11 17:07
1 | 2016-12-11 17:11
3 | 2016-12-11 17:12

このようなt_recordテーブルから下記のように

id| datetime    
--+-----------------
1 | 2016-12-11 17:00
2 | 2016-12-11 17:01
3 | 2016-12-11 17:04
1 | 2016-12-11 17:07
2 | 2016-12-11 17:07
3 | 2016-12-11 17:12

id毎に前後5分以内のレコードを省く方法は無いでしょうか?
0770NAME IS NULL垢版2016/12/11(日) 18:59:10.29ID:B1MOMqp3
id1 id2 id3を三つのテーブルに分けて
5分以上の時だけ表示して
3つのテーブルをunion allして
order by datetime,idかな
0771NAME IS NULL垢版2016/12/11(日) 19:19:48.21ID:B1MOMqp3
3つに分けなくてもIDで並び替えればいいか
0773NAME IS NULL垢版2016/12/11(日) 21:52:33.09ID:???
考えて見たけれど、
これって先頭から順に処理していって、
条件に合わないレコードを捨てて行かないと無理なのかな?
0774NAME IS NULL垢版2016/12/11(日) 22:03:26.90ID:???
>>769
この前後5分がわからん。
基準は何よ??
0775NAME IS NULL垢版2016/12/11(日) 22:11:51.11ID:B1MOMqp3
最低限のソート以外はphpあたりにやらせるのも手だ
0776NAME IS NULL垢版2016/12/11(日) 22:21:06.79ID:???
プロシージャー使っても良いのかな?
0777NAME IS NULL垢版2016/12/11(日) 23:07:50.60ID:???
相関サブクエリで先行するレコードで5分以内のものがあれば除外。でいいんじゃない?
0779NAME IS NULL垢版2016/12/11(日) 23:11:02.30ID:???
>>774
12:00のレコードを読んだ場合に同一idの12:00〜12:05のレコードを読まないようにしたいんです
前後5分というより読んだレコード+5分でした、すみません。
0780NAME IS NULL垢版2016/12/11(日) 23:21:56.40ID:???
>>779
id1の場合は
どのレコードを読みたいの?
例だと四つあるけど?
0781NAME IS NULL垢版2016/12/11(日) 23:30:20.64ID:???
自分より古くて5分以内に先行するレコードがない最新の時間を基準に5分区切りでチェックすれば求まりそうだが、SQLでやりたくねーな。
0782NAME IS NULL垢版2016/12/11(日) 23:31:55.37ID:B1MOMqp3
id1の場合 17:00から5分以内の17:03を除外したいんじゃないか
次の17:07から5分以内の17:11が消えてるし
sqlだけでやるのはきつい気がする
0783NAME IS NULL垢版2016/12/12(月) 07:57:19.89ID:???
>>780
>>782 さんの解釈通りです

やっぱりsqlじゃかなり無理がありますよね
0784NAME IS NULL垢版2016/12/12(月) 10:11:25.44ID:???
もうちょっと時間くださいw
0785NAME IS NULL垢版2016/12/12(月) 21:07:32.04ID:???
MySQLっていつまで生き残れそうなの?
0787NAME IS NULL垢版2016/12/13(火) 23:20:27.46ID:???
おお、動きますね。ありがとうございます
参考にさせていただきます
0788NAME IS NULL垢版2016/12/14(水) 11:26:01.66ID:4HK+mTq3
id|name|hobby
1|AAA|野球
2|AAA|サッカー
3|BBB|サッカー
4|CCC|料理
5|CCC|買い物

こういうテーブルがあるとして、
「AAAとBBBの共通するhobbyを表示したい」と言ったSQLを書きたいと思います。
WHERE name IN('AAA', 'BBB')
としてみたのですが、これだとID・1,2,3がヒットしてしまいます。
どのようなSQL文にすれば共通の値を持つカラムをヒットさせられるのでしょうか?
0789NAME IS NULL垢版2016/12/14(水) 14:40:51.32ID:VXHQnexK
select a.hobby from
(select hobby from table where name='AAA') a,
(select hobby from table where name='BBB') b
where a.hobby=b.hobby;
0791NAME IS NULL垢版2016/12/21(水) 16:24:41.70ID:???
6カラムなテーブルから数十件取得する際に、
ある1つのカラムだけを除いて(つまり5カラム)だけ必要な場合

select *
select ...5カラム

この場合あえて全カラム取得(*)にして速度が向上した、などのデータはありますか?
そういうのがあれば速度測定してみようかと思うのですが…
0792NAME IS NULL垢版2016/12/21(水) 18:45:27.63ID:???
>>791
データはとってないけど、体感的には10万レコードくらいから差が出てた気はする
0794NAME IS NULL垢版2017/02/01(水) 20:50:04.73ID:???
mysqlについてはド素人なんですが質問さしてください

database=xxxのバイナリログを出力して(binlog_do_db=xxx)、そのログファイルを
物理的に離れた場所にあるmysqlサーバのdatabase=yyyに適用する事は出来ないんでしょうか?
無論、テーブル設計等は完全に一致した状態です

mysqlbinlogでバイナリログファイルの中を表示させるとdb名まで含めて情報が入ってる
ように見えるので、databaseの名前は同じじゃないとだめなんでしょうか?
0795794垢版2017/02/01(水) 20:51:33.00ID:???

すみません、オフラインの話です
オンラインレプリケーションではありません(database=yyyを収容してる
mysqlサーバがネットにつながってないので)
0800NAME IS NULL垢版2017/02/09(木) 22:28:57.76ID:U4W+iI6D
ポパイザセーラーマンか
0801NAME IS NULL垢版2017/02/09(木) 23:58:26.25ID:U4W+iI6D
>>800
ワロタw
0803NAME IS NULL垢版2017/02/10(金) 00:49:44.31ID:gUoaTC9Q
MySQLにもストアドってあるの?
0805NAME IS NULL垢版2017/02/20(月) 20:13:54.74ID:???
MySQLのDOUBLEは
DOUBLE
DOUBLE(M,D)
どちらでも良いそうですが、前者の場合にはMとDはどんな値を指定した事になりますか?
0809NAME IS NULL垢版2017/02/25(土) 17:22:45.56ID:???
ユーザ名@localhostのアットマーク以降ってなんなん?
ホストごとに権限が必要ってこと?
0810NAME IS NULL垢版2017/02/25(土) 17:29:32.68ID:???
必要って言うんじゃなく、アクセスしてきたアドレス毎に設定できるということ

必要なければワイルドカードでまとめて設定すれば良い
0811NAME IS NULL垢版2017/02/25(土) 18:02:57.61ID:???
細く設定できるっちゅーことやね
0812NAME IS NULL垢版2017/02/26(日) 14:41:03.90ID:???
やってみて痛い目にあえば分かるよ、書き込めねーよ、あれ?
0816NAME IS NULL垢版2017/03/13(月) 18:31:49.03ID:Fn1yawkd
初心者です。
コマンド入力時点でコピペを含めて日本語の入力を受け付けないんですが原因がわかる方いますか?
日本語を入力してenterを押した時点で入力した日本語が消えてしまいます。
バージョンは5.6.35です。
0817NAME IS NULL垢版2017/03/13(月) 21:22:01.29ID:???
すっげーー
いつのまに、日本語コマンドができたんだ
0819NAME IS NULL垢版2017/03/13(月) 22:43:31.17ID:Fn1yawkd
>>817
日本語はコマンドで渡す値です。
0820NAME IS NULL垢版2017/03/13(月) 22:51:56.01ID:???
動かしている環境を書かないと回答しにくいだろうな

現在の文字コードの設定を調べてみて

show variables like 'character_set%';
0822NAME IS NULL垢版2017/03/14(火) 01:08:07.38ID:YX7LXIeY
>>820
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_set_dir /usr/share/mysql56/charactersets/

一応文字コードの設定はしてるつもりです。
でも文字コードが違ったら文字化けするんじゃないですかね。
入力自体を受け付けないのは何か別の設定ミスがあるんでしょうか。
ちなみにAWSのEC2上で動かしてます。
OSはAmazon Linux AMIっていうRed Hat系のやつです。独自のリポジトリなのでMySQL自体が日本語に対応してないっていうこともあるんでしょうか?
0823NAME IS NULL垢版2017/03/14(火) 01:45:51.30ID:???
エディタでSQL文を作成し
source コマンドで読ませてみたらどうなりますか?

もしかしてシェルが日本語対応してないと言うことはないかな?
0824NAME IS NULL垢版2017/03/14(火) 03:34:00.67ID:YX7LXIeY
>>823
sourceでinsertしてみたところ出来ました。
直接入力で出来ないのはどういうことでしょうか?
0825NAME IS NULL垢版2017/03/14(火) 12:32:46.66ID:???
シェルのモードでしょ、よくある
ターミナルの設定見直してみては
0826NAME IS NULL垢版2017/03/14(火) 15:59:12.26ID:YX7LXIeY
>>825
.bashrcや.bash_profileのことでしょうか?それともターミナルの設定でしょうか?
sshでログインした状態でbashに対しては日本語入力ができます。
sourceコマンドに渡したファイルもEC2上で作成しました。
しかしMySQLを起動すると日本語は入力できなくなります。
具体的にどこを見直せばいいでしょうか?
0827NAME IS NULL垢版2017/03/14(火) 16:30:07.03ID:???
>>826
mysqlを実行したときのlocaleは?
locale問題ないのに入らないならクライアント作り直しては
0828NAME IS NULL垢版2017/03/14(火) 20:09:27.20ID:YX7LXIeY
>>827
どうやって確認できますか?
0830NAME IS NULL垢版2017/03/16(木) 17:20:18.55ID:hrZxQrTn
>829
やってみました
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=ja_JP.UTF-8
0832NAME IS NULL垢版2017/03/16(木) 21:44:53.72ID:???
試しに
echo 漢字
ってやってみて
0833NAME IS NULL垢版2017/03/16(木) 22:17:41.04ID:???
my.conf(ini)は、関係ないのかな?
0834NAME IS NULL垢版2017/03/17(金) 12:03:32.02ID:???
>>831
こいつならなんでも言ったままにやってくれそうだろ
チャンスと考えろよ
0835NAME IS NULL垢版2017/03/17(金) 12:21:47.22ID:???
それは良くないよね


rm -r *
やって報告して。
0837NAME IS NULL垢版2017/03/17(金) 15:59:11.28ID:akoAuSO9
相手は困っていると言うのに、
お前らときたら傷口をツンツンするだけかよ
0839NAME IS NULL垢版2017/03/19(日) 12:54:39.73ID:???
例えば、
LANG=C mysql -p 〜なんちゃら
で起動してマルチバイト文字が入らないのと同じように
LANG=ja_JP.UTF-8 mysql 〜
でも同じならmysqlクライアントが対応してないかと
which mysql でpath確認してldd /path/to/mysql でlibreadline入ってるかみるとか、、
readlineが対応してないんかなあ
0840NAME IS NULL垢版2017/03/20(月) 22:41:20.71ID:2Err/Cvs
MYSQLでテーブルを作成しました。

HOGE_TABLE.EMP_ID → INT(11)
で定義しています。デフォルト値は NULL になっており
phpMyAdminからデータベースを確認すると NULL となっています。


しかしここで疑問があります。

SQL で WHERE EMP_ID = NULL で検索しても
検索結果に何もヒットしません。

値がNULLの行を抽出する際の指定方法が間違っているのでしょうか?
0842NAME IS NULL垢版2017/03/20(月) 23:02:47.31ID:2Err/Cvs
>>841
oh i've forgot.

thanks
0843NAME IS NULL垢版2017/03/20(月) 23:38:39.28ID:???
SQLの入門書に出てくる事やねw
0844NAME IS NULL垢版2017/03/21(火) 00:02:39.09ID:???
どーでもいいけどぽまいらいつも真面目に全角で打ってるの?
0845NAME IS NULL垢版2017/03/21(火) 00:36:16.19ID:???
前にSQLソース書き込んだ時2chの中継クラウドでエラーとしてはじかれたことがある
書き込み内容がインジェクションと判定されたみたい
その時に、全角で書き込むと良いと教えてもらった
0846NAME IS NULL垢版2017/03/21(火) 05:57:25.97ID:???
Wordpressについての質問です。
@ 運用中のデータベースAから新規データベースBにデータをインポートしました
A データベースAを運用(カスタムフィールドの入力)しつつ、データベースBで開発をしました
B @の時点からのAの運用分の差分だけをデータベースBに移行するにはどうすればいいでしょうか?

データベースAのwp_postmetaの共通部分移行だけをエクスポートして、Bにインポートしたいのですが、
meta_idやpost_idが重複してしまいそうで怖いです…。
0847NAME IS NULL垢版2017/03/21(火) 14:17:59.03ID:1CTfcnVL
>>846
Aの内容とBのそれを同期させたいなら、
Bのテーブルを削除して、Aをインポートするのが最も簡単だと思うけど
レコードの有無以外に内容が変わってたりする事もあるでしょう?
0848NAME IS NULL垢版2017/04/05(水) 21:02:13.82ID:???
SQl ServerからのMySQLに乗り換え中です。


フィールドの定義で
INT(3)
と定義してもIntegerの最大値まで登録できます。
SQl ServerではINT だけの定義だったので戸惑ってます。

INT(3) の桁数指定はどんな場面で効果を発揮するんでしょうか?
0849NAME IS NULL垢版2017/04/06(木) 12:01:17.04ID:gyKcZdmo
チェックボックスの値を保存する場合、
1対多のテーブルを利用するのはよくあると思います。

category:id(pk)、name
category_check:id(pk)、category_id

この場合、更新(update)ってどうするのがスマートで
DBに負担がかからないでしょうか?

更新処理が必要な時に、一旦delete allしてそれからinsertでしょうか?
それともプログラム側でチェック済み(check_idが保存されているレコード)か
そうでないかを判定して、保存されていない場合はinsertにし、
チェックを外す場合はdeleteみたいな処理を書くのでしょうか?
0850NAME IS NULL垢版2017/04/06(木) 13:33:11.21ID:E8yM5nWG
>>848
create table Tint (
f2 int(2),f4 int(4),f02 int(2) zerofill, f04 int(4) zerofill);
insert into Tint values (1,2,3,4), (11,22,33,44);
select * from Tint;
0851NAME IS NULL垢版2017/04/12(水) 23:45:34.43ID:???
procedureで参照するテーブルを動的に変えたいですが、調べたところMySQLの場合の
定番はカーソル定義ではVIEWを指定して

declare cursor cur is SELECT * FROM V_TMP

その後にCREATE VIEWでV_TMIEWを動的に作成するという方法でした

確かにこの方法でカーソルを使って目的の処理は出来たんですが、CREATE VIEWの所で
暗黙のコミットが発生してしまってこのプロシージャをトランザクションの中で使えません
暗黙のコミットを発生させずにカーソルのテーブル名を動的に指定する方法はありますでしょうか?
0852NAME IS NULL垢版2017/04/14(金) 21:23:44.04ID:???
使いたいテーブルの数だけprocedure作る
procedure内でcase分で処理対象を切り替える

誰でも思いつきそうな内容ですまない
0853ich1垢版2017/04/21(金) 16:43:07.42ID:R/eXxgbc
https://goo.gl/q9Ml0S
これは嘘でしょ?本当だったら落ち込むわ。。
0854NAME IS NULL垢版2017/05/01(月) 07:30:32.79ID:4T16IiQn
【同一のIDが複数存在するテーブル】 table
---------------------------------
ID  |TITLE |TAG    
---------------------------------
1  | 花  |2
---------------------------------
1  | 花  |5
---------------------------------
1  | 花  |7
---------------------------------
2  | 虫  |2
---------------------------------
2  | 虫  |5
---------------------------------
3  | 魚  |2
---------------------------------



TAGの値が2と5のIDを取得したい
こんな具合に・・・
---------------------------------
ID  |TITLE |TAG_1 |TAG_2     
---------------------------------
1  | 花  |2    |5
---------------------------------
2  | 虫  |2     |5
---------------------------------
joinを使うのかな?
初級問題だと思いますが、お願いします
0856NAME IS NULL垢版2017/05/01(月) 09:59:32.64ID:???
>>854
花と虫が選択され、魚が選択されない条件って何だろう
0857NAME IS NULL垢版2017/05/01(月) 11:06:54.67ID:???
>>856
2と5の両方のIDを有するTITLEを取得してるからだろ
0858NAME IS NULL垢版2017/05/01(月) 11:30:46.36ID:???
TAG値が検索条件ならカラムに入れる必要ないじゃん
0859NAME IS NULL垢版2017/05/01(月) 11:36:41.93ID:???
質問者の依頼内容がそれで良いとして、泥縄的SQLで


select ID2 as ID, TITLE, TAG_1, TAG_2
from
(select ID as ID2,TITLE,TAG as TAG_1 from multi_id where TAG=2) t1,
(select ID as ID5,TAG as TAG_2 from multi_id where TAG=5) t2
where
ID2 = ID5;
0860NAME IS NULL垢版2017/05/01(月) 12:24:26.09ID:4T16IiQn
>>859
おお、来てた。ありがとう御座います

>>858
皆様に判りやすく理解してもらうためにと、検索結果の確認のためになんです
0861NAME IS NULL垢版2017/05/01(月) 13:50:55.86ID:???
まあほんとならID,TITLEのテーブルとID,TAGのテーブルの2つにするよね
0863NAME IS NULL垢版2017/05/02(火) 00:53:19.53ID:5lOTZqXk
パスに日本語含む外部ファイルは読み込めないのでしょうか?
0866NAME IS NULL垢版2017/05/02(火) 17:14:15.01ID:???
(お前の)環境次第
で、おまかん
0868NAME IS NULL垢版2017/05/02(火) 19:00:21.05ID:???
なーんか頭弱そうな略し方だね>おまかん
0869NAME IS NULL垢版2017/05/02(火) 19:02:31.89ID:???
もう2ちゃんの初心者質問スレとかで普通に使われてる言葉だけどね
質問スレとかで毎回同じような質問に疲れて出た言葉なんかな
0870NAME IS NULL垢版2017/05/03(水) 17:54:51.77ID:???
知恵遅れみたいに質問には答えるのが当たり前という風潮を許すからだろ
0871NAME IS NULL垢版2017/05/03(水) 18:10:27.69ID:???
当たり前だっのか、それは知らなかった
0872NAME IS NULL垢版2017/05/16(火) 20:07:25.90ID:???
mysqlで、ストアドを、書くときにテストも書きたいんですが、
そういう方法ってありますでしょうか?
何かしらの言語を挟むしかない?
0873NAME IS NULL垢版2017/05/18(木) 11:11:06.30ID:???
私はストアード作成するsqlに、簡単なテストデータを用意しているけど
そういうことじゃなくて?
0874NAME IS NULL垢版2017/05/18(木) 12:23:36.83ID:???
フレームワークがないとテストも書けんのか
0875NAME IS NULL垢版2017/05/18(木) 13:23:49.15ID:???
>>872
テストもストアドで書けば、別の言語は不要だね
0876NAME IS NULL垢版2017/05/18(木) 18:20:12.14ID:???
なんというかプログラミング言語にはコード補完とかあるけども、mysqlのdbにつなげに行ってコード補完支援してくれる仕組みってないですか?
vscのmssqlはあるくさいんだけども
0877NAME IS NULL垢版2017/05/18(木) 18:53:01.95ID:???
すいません。何が聞きたいというと
mysqlの開発環境どうしてますかってことなんです。
0878NAME IS NULL垢版2017/05/18(木) 20:38:14.48ID:???
テキストエディタがあれば十分だと思う
シェルが使えない環境ならWebから操作するけど
0880NAME IS NULL垢版2017/05/18(木) 22:54:06.27ID:???
>>879
ありがとうございます。一応それは使ってるんですが、
lintみたく書いてる端から間違いを指摘してくれないんですよね。
0882NAME IS NULL垢版2017/05/19(金) 15:02:15.89ID:???
>>881
すんません。それにしてもあんまり開発環境としては充実しているとはいい難い感じですね。
基本みんなORMとか使ってphpとかgoとか使って直接操作してる感じなんですかね。
こちらとしてはロジックをストアドに盛り込んで
ビジネスロジックもdb側に集めたいと目論んでたんですが
あんまり開発効率は良くない感じですかね、、、、

ちなみにFunctionでselctの結果をまるごと返り値にする。みたいなことはできないですかね?決まりきったパラメータに応じて決まった形のrowを返すみたいなことができるとキレイにビジネスロジックをdb側に集中できそうだと思ったんですが
0883NAME IS NULL垢版2017/05/19(金) 15:37:46.41ID:3f/2AF0L
>>882
一般論としては、「できます」という回答しか出ないと思うけど
システム開発と密接に結びつくわけだから、楽な方法というのはないと思う
0884NAME IS NULL垢版2017/05/19(金) 16:50:10.28ID:???
MSと単純に比較するなよ。MSにいくら金払ってるんだ。
0886NAME IS NULL垢版2017/05/19(金) 20:59:12.67ID:???
>>883
まじですか。できるんですねありがとうございます。
0887NAME IS NULL垢版2017/05/19(金) 21:03:56.78ID:???
mysql 5.7で最終的な結果をjsonにして受け取りたいんです。


select name from some_table;

'test'
'swift'
'oracle'
'mysql'
'golang'

と帰ってきた場合にこれをjsonとして

['test’,'swift’,’oracle’,’mysql’,’golang'] とまとめたいんですが

JSON_MERGEとかJSON_ARRAYを駆使してどうやればいいんでしょうか?
0888NAME IS NULL垢版2017/05/20(土) 11:54:09.33ID:???
mysqldumpについてちょっと教えてください。version 5.6.20(win)

現在、週一でmysqldumpでバックアップを取っています(個人使用なんで頻度的には
これで十分なんですが)
個別に取ろうと思って以下のコマンドを試したら各テーブルの構造のみでレコードが
全然出来ていないorz

>mysqldump database -u root -pxxxxx --where 'arekore=9999' > 9999.sql
xxxxxはrootのパスワード

どうすればよろしんでしょ
※レコードが存在していることは確認しています
0889NAME IS NULL垢版2017/05/20(土) 14:09:50.76ID:???
where 'arekore=9999'

このレコードがなかったのではないか?
0890NAME IS NULL垢版2017/05/29(月) 05:43:58.75ID:lxptsOY+
質問です
新しいデータベースを作って、
grant all privileges on db_name.* to user_name@localhost identified by 'password';
flush privileges;
とやったら、元々ある別のアプリケーションがMySQL繋がらないエラーになった。調査の結果user_nameを変えたら問題なくなった。
DBユーザー名って各アプリでユニークじゃないとダメなの?
0891NAME IS NULL垢版2017/05/29(月) 07:20:32.49ID:???
1. user_name@%が存在する
2. パスワードが変わった
のどちらかじゃないかと思うんだが、エスパー諸氏の見解を求む
まあ回答は No でいいか
0892NAME IS NULL垢版2017/05/29(月) 20:53:58.01ID:???
MyISAMとInnoDBだと通常はInnoDBの方がINSERTは速いと思っていたんですが、
状況や環境によってはそうとも限らないと言うこともあるんでしょうか?

BINLOGを有効にする前はMyISAMのほうがわずかに速かったんですが、BINLOGを
有効にするとInnoDBは若干パフォーマンスが低下、MyISAMは倍の時間がかかる
ようになって、結果MyISAMのほうがINSERTが遅い状況になっています

ベンチマークプログラムはC#+.NET/Connectorで書いていて、INSERTは
2000行BULK挿入x10000回の2千万行挿入です。サーバはWindowsSvr2016で
MySQL5.7を使っています。メモリは512GB積んでいてMySQLにふんだんにメモリを
割り当てていますがHDDは逆に糞ほど遅いです。

BINLOGを有効にしてMyISAMがこれだけ劣化したのはDBファイルとBINLOGファイルの
更新がInnoDBほど整然と行われていないため?と推測しています
0893NAME IS NULL垢版2017/05/29(月) 21:43:35.59ID:???
>>892
自分の環境で起きてることを
他人に聞いてどうしたい?
0894NAME IS NULL垢版2017/05/29(月) 21:48:14.94ID:???
>>893
馬鹿が無理してしゃしゃり出てこんでいいとおもうよ
口閉じて黙ってれば馬鹿だとばれずに済む
0896NAME IS NULL垢版2017/05/29(月) 22:04:53.08ID:???
というか、MyISAM使うならトランザクションは使えないけどそれでいいのか?
0897892垢版2017/05/29(月) 22:12:48.39ID:???
892です
一般的にはMyISAMのほうがパフォーマンスが上と言われていると言う認識ですが
なぜ逆の結果になったのか原因が知りたいのです
こういうと >893 は「原因を知ってどうするの?」とか言われるのかもしれませんが

>>896
無論それは折り込み済みです
失敗した場合はtruncate出来る状況なので
0898NAME IS NULL垢版2017/05/29(月) 22:54:28.04ID:???
int型をtinyintに変えた場合
型のサイズの差の3バイト x レコード数分のサイズが節約できると考えていいでしょうか?
0900NAME IS NULL垢版2017/05/31(水) 21:12:21.62ID:???
MySQLのLWTO(LockWaitTimeout)について質問さしてください

Session-1でViewをCreateしたあとに、Session-2で START TRANSACTIONした後で
先ほどのViewを参照して別のテーブルを更新しました

そのままCOMMITもROLLBACKもせずにSession-1側でViewをCREATE OR REPLACEしようと
するとLWTOになってしまいます

Session-2側でViewを参照しながら別のテーブルへのINSERTが完了した時点でたとえ
COMMITしていなくてもViewの状態を変えても何の問題もない気がするんですが、
この場合のLWTOは避けられないんでしょうか?
0901NAME IS NULL垢版2017/06/01(木) 19:37:15.80ID:???
REPEATABLE READならそうなんじゃない?
0902NAME IS NULL垢版2017/06/04(日) 14:16:26.37ID:???
mysqlダウンロードしたばかりの初心者です
mysqlならmacで使えるとのことでインストール完了しターミナルを出すところまでいきました
↓ここを参考にしました
http://news.mynavi.jp/series/mysql/002/

ですがmysqlに入ることができずエラーが出てしまいます
末尾-p削除もしてみました
------------
次にターミナルを開いて「 cd /」と打ち込み、ルートディレクトリに移動します。
MySQL実行ファイルのある場所で、MySQLサーバに入ります。
著者は、「/usr/local/mysql/bin/mysql -u root -p」と打ち込んだ後、
パスワードを入力してサーバに入りましたが、
エラーが出る場合は末尾の「-p」をとってみてください
-----------

他に方法があれば教えていただけないでしょうか?
初心者ゆえの変な質問かもしれませんが、
ターミナル画面というのはdeleteとか普通の編集ができないのですね・・

書き込み反映していないようで再度試します
もしダブったらすみません 2ちゃんなんだか調子悪いのでしょうか、今日
0903NAME IS NULL垢版2017/06/04(日) 14:44:32.75ID:???
>>902
>ですがmysqlに入ることができずエラーが出てしまいます

そのエラー表示内容で、大体解決出来ると思うから、
その内容を詳細に書いてください
0904NAME IS NULL垢版2017/06/04(日) 15:16:57.02ID:???
>>903
ありがとうございます
こちらですが、途中からは同じ繰り返しになっています
名前の部分は大文字XXXXで伏字としています
よろしくお願い致します

Last login: Sun May 7 20:09:02 on console
XXXX-no-Air:~ XXXX$ cd /
XXXX-no-Air:/ XXXX$ /usr/local/mysql/bin/mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
XXXX-no-Air:/ XXXX$
XXXX-no-Air:/ XXXX$ /usr/local/mysql/bin/mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
XXXX-no-Air:/ XXXX$
XXXX-no-Air:/ XXXX$ /usr/local/mysql/bin/mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
XXXX-no-Air:/ XXXX$ $ /usr/local/mysql/bin/mysql -u username -p
-bash: $: command not found
XXXX-no-Air:/ XXXX$
0905NAME IS NULL垢版2017/06/04(日) 16:59:38.02ID:???
>>972です
その後もエラーコード検索して試してますがうまくいかないです・・
0907NAME IS NULL垢版2017/06/04(日) 17:21:24.79ID:???
インストール時にパスワード設定しなかった?
MySQL以前にターミナル覚えないと今後厳しそうだなあ
とりあえず、
/usr/local/mysql/bin/mysql -u root password 'password'
ってやって
0908NAME IS NULL垢版2017/06/04(日) 17:23:21.06ID:???
/usr/local/mysql/bin/mysql -u root -p
で設定したやつ入れて
入ったら
0909NAME IS NULL垢版2017/06/04(日) 17:24:29.85ID:???
UPDATE 文でパスワード変更してみて

(どうもパス変更のSQL書くと蹴られる)
0910NAME IS NULL垢版2017/06/04(日) 17:31:46.14ID:???
インストール途中でrootの初期パスワードをこのように設定したよという画面出てきますが
どうもちゃんと設定が出来てない様です。めんどくさいんですが、パスワードリセットをしないといけないみたい
0911NAME IS NULL垢版2017/06/04(日) 17:37:18.93ID:???
試しに、MacにMySQLインストールしてみたけど
temporary password って表示されるじゃんか
これコピーしておかなかったのか
>>907 は mysqladmin の間違いだったけど
もともとパスわかってないと無理そうだなあ
インストールし直しでパスワード再表示されたらメモっとくのが間違いなさそう
0912NAME IS NULL垢版2017/06/04(日) 17:38:08.69ID:???
>>907
902です
返信ありがとうございます!!
ターミナルっていうのも今回初めて知りググって出しました

参考にしたサイトでとりあえずログインせずダウンロードを選択、とあったためパスワード設定しないでダウンロードをしているのです…

今回はアンインストール→パスワード設定ありの再度インストールした方が良さそうですよね
0913NAME IS NULL垢版2017/06/04(日) 17:38:50.11ID:???
これからアンインストールからの再インストール試します!
0914NAME IS NULL垢版2017/06/04(日) 17:42:15.33ID:???
>>913
アンインストールしなくても出来る思う
0915NAME IS NULL垢版2017/06/04(日) 17:43:55.98ID:???
始めちゃったかな?
上手く行かなかったら、また書き込んでね
0916NAME IS NULL垢版2017/06/04(日) 17:49:26.29ID:???
あ、すみません
今システム環境設定からアイコンを捨てたら再表示できず
やっぱり再インストールかな・・と試しているところです
0917NAME IS NULL垢版2017/06/04(日) 18:03:37.56ID:???
まあ本体じゃなくてインスタンスの再構築でいけると思うけど、
まあ大した手間じゃないし再インストールでいいかも
でも設定のアイコン消したくらいじゃ消したことにならんと思う
0918NAME IS NULL垢版2017/06/04(日) 18:20:25.51ID:???
>>910
それがその仮パスワードの画面が出てこなかったのです・・
0919NAME IS NULL垢版2017/06/04(日) 18:22:13.27ID:???
902です
ORACLEのユーザー登録してパスワード設定しましたが、違いましたか・・・?
0920NAME IS NULL垢版2017/06/04(日) 19:07:49.79ID:???
はぁうまくいきません・・
mysql→mysqladminと訂正し入力

/usr/local/mysqladmin/bin/mysql -u root password 'password'
/usr/local/mysql/bin/mysql -u root -p

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
となってしまいます
結局初回にパスワードを問われなかったことで設定できていなかったのでしょうか
ダウンロードはしてあったので再度インストールをしました

temporary passwordが現れなかったのが謎・・・
どこからやり直したらいいのでしょう
インストールさえできないなんてヘタレすぎる
0921NAME IS NULL垢版2017/06/04(日) 19:37:23.15ID:???
このページを参考にしてみて

http://qiita.com/sotayamashita/items/b784459356686641dabe

違う点だけ書きます
SQL文を全角で書かないと、インジェクション扱いされてしまうので、全角にしてますが読み替えてください。

「mysqlを止める」 はシステム環境設定のMySQLを使って止める

MySQLの権限システムを使用しないで起動する
>$ mysqld_safe −−skip−grant−tables −−skip−networking

多分管理者権限がないと起動出来ないはずなので、
$ sudo mysqld_safe −−skip−grant−tables −−skip−networking
と入力する。パスワード聞かれると思うので、Macにログインする際のパスワードを入れる

途中にある、
>UPDATE user SET Password=PASSWORD(’PASSWORD’) WHERE User=’root’; 
>update user set authentication_string=password(’PASSWORD’) where user=’root’
この辺は間違いだと思う。以下の様にした方が良いと思う
use mysql;
truncate table user;
flush privileges;
grant all privileges on *.* to root@localhost identified by ’パスワード’ with grant option;
flush privileges;

'パスワード' の中身は自分で決めてください。空文字にすればパスワード無しとなります。

作業が終わったら、システム環境設定のMySQLを使って一度停止し、起動し直す事を忘れずに
0923NAME IS NULL垢版2017/06/04(日) 20:38:25.96ID:???
小文字に書き換えて試したのですが進みませんでした
せっかく教えていただいたのにすみません
今日はとりあえず諦めて後日再チャレンジします
0924NAME IS NULL垢版2017/06/04(日) 20:45:54.04ID:???
>>923
どの辺で止まりました?
表示内容で対処方法は分かると思います。

ガンバレ!
0925NAME IS NULL垢版2017/06/04(日) 21:02:41.16ID:???
>>920
ちょっと教えて

>ORACLEのユーザー登録してパスワード設定しましたが、違いましたか・・・?

これってOracleのWeb上でのユーザー登録とそのパスワードでしょ?mysqlのパスワードと関係あんの?
0927NAME IS NULL垢版2017/06/04(日) 21:20:42.43ID:???
>>924
ありがとうございます・・涙
途中から頭痛しててどこか書き間違えとか凡ミスしてると思うのです
後日きちんと仕切り直して挑みます

>>925
今となっては多分別物だと思うのですが・・
初回のインストール時にtemp pwの表示が現れなかった(謎)ことから
最初からやり直そうという目論見でダウンロードをし直しました
その際、ダウンロード開始前にユーザー登録・ログイン・ダウンロードのみの3択となり
ユーザー登録をしました
そこでpwを入力することでダウンロード画面に遷移しました

今となってはpw不明を解決する方法しかなくなってしまったのですよね
参考にしたマイナビにtemp pwのことが書いていないことを恨みます・・
今日はちょっと体調悪くこれにて
また後日進展あり次第参りますのでその時はよろしくお願いします
0928NAME IS NULL垢版2017/06/04(日) 21:20:43.87ID:???
>>924
ありがとうございます・・涙
途中から頭痛しててどこか書き間違えとか凡ミスしてると思うのです
後日きちんと仕切り直して挑みます

>>925
今となっては多分別物だと思うのですが・・
初回のインストール時にtemp pwの表示が現れなかった(謎)ことから
最初からやり直そうという目論見でダウンロードをし直しました
その際、ダウンロード開始前にユーザー登録・ログイン・ダウンロードのみの3択となり
ユーザー登録をしました
そこでpwを入力することでダウンロード画面に遷移しました

今となってはpw不明を解決する方法しかなくなってしまったのですよね
参考にしたマイナビにtemp pwのことが書いていないことを恨みます・・
今日はちょっと体調悪くこれにて
また後日進展あり次第参りますのでその時はよろしくお願いします
0929NAME IS NULL垢版2017/06/04(日) 21:27:19.44ID:???
すんなりとインストール出来ると確かに楽ちんなんですけど
色々トラブルあったりすると、対処方法調べたり、
あれこれ弄ることになって学ぶ事も多いです。

ガンバですw
0930NAME IS NULL垢版2017/06/04(日) 21:35:55.10ID:???
>>929
はい、勉強になっとりますww
ありがとです!!!
0931NAME IS NULL垢版2017/06/04(日) 21:38:17.75ID:???
全然関係ないんですけど
頭痛くなった原因、2ちゃんのエロ広告な気がします()
いくらまともな広告クリックしても消えてくれないーww
0932NAME IS NULL垢版2017/06/04(日) 21:57:11.04ID:???
>>931
専用ブラウザ使ってますか?
公式には、金を払うと広告は消せます
非公式には、○○すると・・・w
0933NAME IS NULL垢版2017/06/04(日) 22:12:07.44ID:???
>>932
早速googling
導入します
もちろん後者で…
0934NAME IS NULL垢版2017/06/05(月) 09:07:12.62ID:???
>>927
データベースが残ってるからだよ
再インストールでもそれが残ってたらそれ使うんじゃないかな
パスワードはそこに入ってるからね
まるごと消せばいいんだけどちゃんとアンインストールできてなかったんでしょう

インスタンス再構築やってみ、実際のとこ複数運用もできる作りになってるんだし
0936NAME IS NULL垢版2017/06/05(月) 16:20:01.35ID:???
Macにmysql入れるのってそんなに難しいのか?オラはwin10だがmysqlは何度もいれたがインストーラー実行すれば全自動で入るよね。
0937NAME IS NULL垢版2017/06/05(月) 16:24:08.00ID:???
別に簡単だよ、実際インストールそのものは一発で終えてるようだし
元の質問者はMacの扱いも慣れてないようなので
0938NAME IS NULL垢版2017/06/05(月) 17:00:47.70ID:???
マカーだからしょうがない
0939NAME IS NULL垢版2017/06/07(水) 22:14:06.04ID:???
-tbl_name-
co1   co2
ABC  100
100   null
100   ABC

というテーブルがあります。

select ナンチャラ from tbl_name
とした時に、

co1 co2  col3  
ABC 100 100
100 null  100
100 ABC  ABC

とできる方法はありませんでしょうか。

 ・col3は元のテーブルにはなく、select文を打ったときに、仮想的に?作る列です。
 ・co1列には必ず値が入っていますが、co2列は、nullだったり値が入っていたりします。
 ・co3列は
 
  「co2列に値が入っていたら、col3は、co2の値を入れる」
  「co2列がnullならば、col3はco1の値を入れる」
 
という条件です。

 ・Excel関数なら=IF(B1<>"",B1,A1)と表現するものです。
 ・mysqlです。

宜しくお願いします。
0940NAME IS NULL垢版2017/06/07(水) 22:25:44.36ID:???
select col1,col2,coalesce(val2,vai1) as col3 from tbl_name;
0941NAME IS NULL垢版2017/06/08(木) 14:21:40.19ID:4Mv/avCS
sel ect
col1,col2,coal esce(col2,col1) as col3
fr om tbl_name;

全角スペースが所々入ってますが、消してください
インジェクション判定を回避するためです
0942NAME IS NULL垢版2017/06/09(金) 05:28:00.19ID:???
>>940
>>941
ありがとううとございます。

なーんで、全角使ってんだろうって思ったら
そういう事なんですね。

ありがとうございます。お陰で解決いたしました。
0943NAME IS NULL垢版2017/06/10(土) 16:10:05.28ID:???
空のアイサムテーブルにデータを入れた後にデータファイル(MYDとMYIとFRM)を
コピーしてバックアップしたいんですが、安全なコピー方法のような者はありますか?
それとも更新完了直後にデータファイルをコピーしても大丈夫でしょうか?
0944NAME IS NULL垢版2017/06/18(日) 17:20:37.99ID:???
列方向にある条件で比較して、その行だけ出すって方法ありますか?

例えば

購入日        顧客ID       購入品
2017/06/18     ABC123      石鹸
2017/05/01     ABC123      シャンプー
2017/01/05     ABC123      フェイスタオル

の様な表があったとして、

where 句で、顧客IDを引っ掛けて、「この人が直近でお店に来たのはいつだろうか」
というのを調べたい場合です。
0945NAME IS NULL垢版2017/06/18(日) 18:55:05.32ID:???
相姦サブクエリ使うしかないかな
0946NAME IS NULL垢版2017/06/18(日) 19:22:24.11ID:c1GtVOfY
なんや壮観サブクエリて?
0947NAME IS NULL垢版2017/06/18(日) 19:51:45.44ID:???
>>944
来た日は、わからん。
購入日で代用しろ
0948NAME IS NULL垢版2017/06/19(月) 10:37:50.38ID:???
max で最大値出してその条件をサブクエリにして検索か
group byで顧客IDまとめてから最大の日付をとるか
0949NAME IS NULL垢版2017/06/19(月) 21:00:29.56ID:???
この辺、OracleならRank関数とか便利な機能があるんだがな
0950NAME IS NULL垢版2017/06/20(火) 22:51:47.11ID:TFo31zTG
で?
0951NAME IS NULL垢版2017/06/20(火) 23:31:41.18ID:???
表示のモードっていうんですか?それについて質問させてください。
初心者なので、言葉が間違ってたらごめんなさい。pager less -Sと打つと横に長い表示も折り返さないで出るんですけど、
表示の一部をコピペしたい場合とか不便です。(Q押すと消えちゃうので)折り返しないんだけど、
一括でダーって出す様な感じの設定って無いんですか?折り返ししないでpager catの折り返さないバージョンみたいなやつです。
0952NAME IS NULL垢版2017/06/20(火) 23:40:16.29ID:???
>>944
「ある[顧客ID]を持つレコードの集まりの内、最大の[購入日]を持つレコード上の[購入品]を調べる」
という設問ではなくて
「[お店に来た日]を調べる」設問なら、こーいうテーブルが必要だとおもうぞ?
ズレてるかもしれんが。
購入日    お店に来た日 顧客ID   購入品
2017/06/18 2017/06/18  ABC123  石鹸
2017/05/01 2017/05/01  ABC123  シャンプー
2017/01/05 2017/01/05  ABC123  フェイスタオル
NULL     2017/06/20  ABC123  NULL
0954NAME IS NULL垢版2017/06/26(月) 23:22:00.16ID:???
MYSQLって再帰select、updateみたいなのってできます?例えば、
あるupdate文を打って、1行目の3列目が更新された・・・10行目の8列目が更新された。
10行目の8列目の更新をフラグに1行目の7列目が更新されるってな感じのモノです。
0955NAME IS NULL垢版2017/06/27(火) 01:11:30.54ID:WWFoTziD
まずはn行目の定義から
0956NAME IS NULL垢版2017/06/27(火) 01:32:32.32ID:0P21k6Ky
q
0958NAME IS NULL垢版2017/07/05(水) 21:59:17.58ID:???
指定の文字列が含まれるものを除外したい時は
NOT LIKE '%文字列%'
とすると思いますが、文字列が複数ある時はどうするのが一番いいですか?
0959NAME IS NULL垢版2017/07/05(水) 23:10:50.10ID:???
どうするのが一番いいと思いますか?
0960NAME IS NULL垢版2017/07/05(水) 23:14:11.07ID:???
インストール先のドライブをc以外にしたいのですが最新版だとできないのでしょうか?
0961NAME IS NULL垢版2017/07/05(水) 23:31:58.78ID:???
ドライブの選択が出来ないんかいな
windows用の最新版ってzip Verは無いの?あればそれを好きなドライブにいれてサービスの登録すれば?
0962NAME IS NULL垢版2017/07/05(水) 23:37:22.13ID:???
>>959
分からないから聞いてるんです
正規表現でやることにしましたが、ベストかどうかは分かりません
0963NAME IS NULL垢版2017/07/06(木) 10:22:31.97ID:???
ベストってどういう意味ですか?
0964NAME IS NULL垢版2017/07/06(木) 12:19:21.55ID:???
お前らに難癖つけられないやり方だろうな普通はw
そんなもんないだろうけどw
0965NAME IS NULL垢版2017/07/06(木) 14:17:28.91ID:???
>>958がどこかに書いたかもわからないことをどうやって難癖つけるのですか?
0966NAME IS NULL垢版2017/07/06(木) 16:37:20.45ID:???
正規表現で書く方が難しいと思うなあ
検索する複数キーワードの順序は関係なさそうだし
お互いに重なっている場合も想定しないといけないし
0967NAME IS NULL垢版2017/07/06(木) 19:20:13.59ID:CWVwPYsX
>>965
難癖つけないでくれよおw
0968NAME IS NULL垢版2017/07/06(木) 21:42:14.91ID:???
NOT LIKE '%文字列%'
これやった段階で、遅いのは確定だし・・・・
複数あってもどうしようも・・・・・
なにをしたいんだろーーー
0969NAME IS NULL垢版2017/07/06(木) 22:16:23.23ID:???
>>968
>なにをしたいんだろーーー

お前がそれを聞いてなにをしたいの?
0971NAME IS NULL垢版2017/07/06(木) 22:28:45.29ID:???
ここで質問している本人はする事があるのだろうが
それ以外は、皆暇人
0978NAME IS NULL垢版2017/07/08(土) 21:20:22.29ID:???
それ、俺が聞いた事なんだけど
0979NAME IS NULL垢版2017/07/08(土) 21:23:37.13ID:???
うそ?俺が聞かれた事だろ?
0982NAME IS NULL垢版2017/07/10(月) 22:13:50.81ID:???
他に異論がなければ>>980に答えていただきますが皆様よろしかったでしょうか?
0984NAME IS NULL垢版2017/07/10(月) 23:09:07.97ID:???
普通に
NOT LIKE '%文字列%'
をANDで並べたらだめなん?
0986NAME IS NULL垢版2017/07/11(火) 07:28:01.30ID:7BmNOFXq
「MySQL上のユーザ」と「ホストシステム上のユーザ」は同期するの?
それとも完全にMySQL側でユーザを手動作成?
MySQLとシステムのユーザ名の対応はユーザ名の文字列の一致を見るの?
0987NAME IS NULL垢版2017/07/11(火) 15:15:06.37ID:???
完全にMySQL側でユーザを手動作成
0988NAME IS NULL垢版2017/07/11(火) 19:06:33.45ID:7BmNOFXq
>>987
ユーザ名が一致すればシステムとは対応取れるの?
パスワードはシステムとMySQLで別々なものを割り当てて別々管理なの?
システム側ユーザFooが、 MySQLユーザ Bar 名使って、Barのパスワード
を使えばシステム側ユーザがrootだろうがFooだろうがBazzだろうが
全く関係ないの?

「システムのroot」と「MySQLのroot」は同じものなの?
違うものなの?
0989NAME IS NULL垢版2017/07/11(火) 20:34:53.25ID:???
本買って基礎知識勉強しろよ
0991NAME IS NULL垢版2017/07/12(水) 07:21:30.86ID:???
MYSQLは、ASの列別名をwhere句に指定することってできないんですか?
0994NAME IS NULL垢版2017/07/12(水) 22:17:34.88ID:???
>>993
ありがとうございます。

select count(*) as hoge,name from chiisai group by ID where hoge = 2;
こういう書き方をしたかったのですが、ダメでした。

この場合、こういう書き方みたいですね。
select count(*) as hoge,name from chiisai group by ID having hoge = 2;

変な質問してすみませんでした。
0998NAME IS NULL垢版2017/07/16(日) 18:22:18.65ID:bQRnNnru
whereで絞ってからグルーピング
グループ化してからの選別ならhaving
初心者はかなりの確率で引っかかる
0999NAME IS NULL垢版2017/07/19(水) 07:20:49.63ID:???
処理順が分かって無い時代のあるある。
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 884日 15時間 35分 40秒
10021002垢版Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況