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

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレMySQL 総合 Part17

mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 2004 + - config + - Warning + - 経過時間 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
151 : NAME IS - 2010/01/04(月) 11:01:24 ID:??? (-29,-30,-158)
最近 MySQl (5.1.41) が

100104 10:48:15 InnoDB: Error: page 1 log sequence number 19962114575
InnoDB: is in the future! Current system log sequence number 3012747198.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB:http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html

のようなエラーをログに吐き、しばらくすると止まってしまいます。
メッセージのリンクを読んで、
innodb_force_recovery = 4
で起動して、全dumpとリストアをかけたのですが、それでも直りません。
解決策をご存じの方いらっしゃいませんか?
153 : NAME IS - 2010/01/04(月) 18:14:26 ID:??? (+6,+8,-20)
追加の時、数字を指定しなくても
自動で一番後ろに追加することってできないの?
154 : NAME IS - 2010/01/04(月) 20:20:56 ID:??? (-25,-30,-54)
>>151
dumpして、
データベースをdropして
mysqldを停止して
ibdata1とib_logfile*を削除して
innodb_force_recoveryを外して
mysqldを起動して
リストア。
155 : NAME IS - 2010/01/04(月) 21:50:23 ID:??? (-19,-12,-2)
MySQLを救え!
http://www.helpmysql.org/ja/
157 : NAME IS - 2010/01/04(月) 22:25:46 ID:??? (+29,+29,-38)
>>154
ありがとうございます。
レスを頂いた直後から作業を開始しましたが、リストアって時間かかりますね。
でも、ログエラーは(今のところ)出ていません。
このままうまくいくことを願いつつ、お礼申し上げます。
158 : NAME IS - 2010/01/04(月) 23:23:10 ID:??? (+18,+25,-5)
追加と更新って、どう違うんだ?
160 : NAME IS - 2010/01/04(月) 23:49:15 ID:??? (+22,+29,+0)
それを聞いてるんじゃん
161 : NAME IS - 2010/01/05(火) 18:21:18 ID:??? (-26,-29,-70)
MySQL5.0.45でストアドを書いてるんだけど、
エラーが起こったときに「HANDLER FOR SQLEXCEPTION」でエラーが起こったことはわかるけど、
どんな内容のエラーが起こったのか取得できなくて困ってます。
エラーの内容を取得する方法って有りますか?
162 : NAME IS - 2010/01/06(水) 00:21:44 ID:??? (+27,+29,-41)
全角でテーブル名とかカラム名とか使っちゃいけない感じ?
いちいちバッククォートだかアクサンだかで区切るのめんどい。
SQLITEはそこら辺融通が利いたんだけどなあ。
163 : NAME IS - 2010/01/06(水) 00:33:27 ID:??? (-6,-9,-14)
>>162
マジで全角使いたいの?
164 : NAME IS - 2010/01/06(水) 01:04:45 ID:??? (+37,+29,-91)
>>163
テーブル設計するときは大体全部の項目が全角じゃん。
postgreとかSQLITEとかSQLServerだとそのまま流し込むのが一般的じゃん。
ドキュメントの手間省けるし。何よりオレがそれに慣れきってる。
だから今更全部エスケープとか正直辛い。なんか回避方法があれば是非。
165 : NAME IS - 2010/01/06(水) 02:43:35 ID:??? (+25,+27,-20)
PG視点とSE視点の違いってこういうことなのかな、と思った
166 : NAME IS - 2010/01/06(水) 07:53:00 ID:??? (-27,-30,-87)
DELETE + EXISTS の組み合わせの SQL って使えないですよね?
DELETE FROM T1 A
WHERE EXISTS (SELECT * FROM T1 B WHERE A.C1 = B.C1)
みたいなのってエラーになりますよね?
167 : NAME IS - 2010/01/06(水) 12:35:20 ID:??? (+32,+29,-4)
>>164
俺、その職場じゃなくて良かったわ。
168 : NAME IS - 2010/01/06(水) 13:51:30 ID:??? (+22,+29,-1)
これだから非英語圏はあああああああああ
170 : NAME IS - 2010/01/06(水) 21:35:45 ID:??? (-16,-29,-52)
MSSQLや、Access使いは全角派が圧倒的だな。
多分プログラムを書かない人たちだからかな。
個人的にはマジでやめてほしい。
Oracle派は半角大文字だね。
MySQL、PostgreSQL、SQLite派は半角小文字だな。
171 : NAME IS - 2010/01/07(木) 02:02:18 ID:??? (+25,+29,-42)
>>170
英単語で適切なカラム名を決められないときは、
何を入れるべきなのか分かってないことがほとんどだと思う。
たいていあとで泣きを見る。

unicode の問題とかは、些細なこと。
172 : NAME IS - 2010/01/07(木) 02:03:35 ID:??? (+25,+29,-31)
>>170
そんなに毛嫌いするほどのものでもないだろ
クライアントの強い要望でそういう設計したことあるけど
あれはあれでおもしろくて便利だったぞ
173 : NAME IS - 2010/01/07(木) 16:09:43 ID:??? (-27,-30,-192)
UNIQUE属性を付けるとめちゃくちゃ行のサイズが膨れるんだけど、どして?
CREATE TABLE ユーザ(
ID SERIAL,
ユーザID VARCHAR(30) NOT NULL UNIQUE,
パスワード CHAR(32) NOT NULL,
メールアドレス VARCHAR(255) NOT NULL UNIQUE,
ユーザ種別 INTEGER NOT NULL DEFAULT 1
);
たったこれだけのテーブルなのに一行が2300バイトとかそれくらい行きやがる。
制約としてユニークがほしいだけなのに、なんかインデックス作成されてるし。
どうすりゃええのん。
174 : NAME IS - 2010/01/07(木) 18:51:17 ID:??? (+26,+28,-39)
ユニークかどうか調べるのにインデックスが必要なんだ
これはMySQL以外でも同じ
メールアドレスにUNIQUEつけるのはかなり厳しい
175 : NAME IS - 2010/01/07(木) 19:01:22 ID:??? (+26,+28,-4)
メールアドレスって、そもそもユニークなもんじゃないの?
176 : NAME IS - 2010/01/07(木) 19:11:43 ID:??? (-20,-23,-43)
よく考えたらメールアドレスは変更される可能性もあるから、
UNIQUEは外してメールアドレス管理テーブル作ったほうがいいと判明した。
(変更の際と登録の際にユニークチェックすればいい)
ありがとう。ユニークはIDだけにしておくわ。
177 : NAME IS - 2010/01/08(金) 01:58:04 ID:??? (-17,-30,-122)
MySQL の勉強を始めました。
phpMyAdmin にはじめから登録されている データは バッククォートを使用しない記述で成功するのですが(SELECT * FROM pma_history)
自分で作成したデータは バッククォートを使用しないと失敗してしまいます。(SELECT * FROM `pma_history`)
バッククォートを使用しないようにするにはどうしたらよいのでしょうか?

又、バッククォートを使いたい場合に ` をコピー&ペーストでやっているのですがキー入力で使う場合には
どう入力すればよいのでしょうか?

MySQLのバージョンは 5.1.37です。
初歩的で申し訳ありませんがご教授お願いします。


179 : 177 - 2010/01/08(金) 19:30:56 ID:??? (+22,+29,-1)
>>178
ありがとうございます。
これで記述が楽になります。
182 : 180 - 2010/01/08(金) 21:57:45 ID:??? (+17,+29,+0)
謝謝
183 : NAME IS - 2010/01/09(土) 21:02:05 ID:??? (-27,-30,-77)
LAN内で別PCのmysqlにアクセスしようとしたら
Access denied user 'root'@'mac-mini'
と表示されてしまいます。

mysqlテーブルでは
Host:% User;root
も設定してあります。

なぜ接続できないのでしょうか、パスワードもあっています。
185 : NAME IS - 2010/01/09(土) 23:53:53 ID:??? (-29,-29,-53)
LEFT JOINしておいて右側のテーブルに条件を差し込むのは筋が悪い

じっくり考えたら、B.valueの条件で検索する場合、
LEFT JOINじゃなくてINNER JOINで良かったりしない?
そうすればAの条件がrefになる
188 : NAME IS - 2010/01/10(日) 03:59:30 ID:??? (-27,-30,-67)
テーブルにDateTime型で定義された列が存在している場合に、
2つの特定レコードの登録日を比較し、
経過分数をSQLで算出するにはどうすれば良いでしょうか?
※MySQL5.0

具体的には次の通り時間が①②とあった場合に、
①から②までの間の経過時間として 5分 という値が欲しいです。

時間①
 2010-01-10 10:10:00

時間②
 2010-01-10 10:15:00
190 : NAME IS - 2010/01/10(日) 07:26:36 ID:??? (-24,-18,-21)
>>187
特定のデータベースにしかアクセス出来ないようにして、create権限を与えたら良いのでは?
192 : NAME IS - 2010/01/10(日) 22:57:54 ID:??? (-27,-30,-78)
MySQLのSQLで経過時間をtimediff関数を使用して算出しているのですが、
取得された結果のうち

・時間
・分
・秒

のみを取得するにはどうすれば良いでしょうか?

SELECT
  -- 時間
  -- 分
  -- 秒
  -- 時間:分:秒 の取得
  TIMEDIFF( NOW(), REGIST_DATE_TEST )
FROM
  TEST_TABLE
193 : NAME IS - 2010/01/10(日) 23:51:51 ID:??? (-25,-30,-60)
mysql> select now(),hour(now()), minute(now()), second(now());
+---------------------+-------------+---------------+---------------+
| now() | hour(now()) | minute(now()) | second(now()) |
+---------------------+-------------+---------------+---------------+
| 2010-01-10 23:51:32 | 23 | 51 | 32 |
+---------------------+-------------+---------------+---------------+
1 row in set (0.00 sec)
194 : NAME IS - 2010/01/11(月) 00:05:08 ID:??? (+0,+5,+2)
>>193
ありがとうございました。
197 : NAME IS - 2010/01/11(月) 10:19:14 ID:??? (-27,-30,-81)
WinXP MySQL 5.1です。
前スレでinnodb_file_per_tableについて聞いた者ですがまた
一つ教えてください。

dataがAll UsersのApplication Dataに出来ているのですが、これを
例えばd:\data\database\~に指定することは出来ませんか?

my.iniには
#*** INNODB Specific options ***
innodb_data_home_dir="D:/Data/DataBase/"
という指定はしているのですが。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 2004 + - config + - Warning + - 経過時間 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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