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

元スレMySQL 総合 Part13

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

      \ │ /
       / ̄\
     ─( ゚ ∀ ゚ )─
       \_/
      / │ \
    ○○○   ○○○
   ○,,・ω・○  ○・ω・,,○
    ○○○   ○○○ o
 o~(,_uuノ    とuu_,)ノ

     FREE TIBET

405 = :

>>400
データベースの初期化からやり直したらどう?
mysql_install_db --user=mysql

406 = :

mysqlhotcopy でデータベースコピーしたあと
mysqldの再起動以外でデータベース読み込ませる方法ないでしょうか。
常時起動させているものなので極力再起動は避けたいです。

408 = :

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 'group
varchar(40),

こんなエラーメッセージが出ましたが、どういうことですか?

410 = :

reate table entry(
mail varchar(15),
domain varchar(15),
is_a_group bool,
name varchar(20),
group varchar(40),
post varchar(20),
prefecture varchar(8),
station varchar(20),
adress varchar(40),
tel1 int(4),
tel2 int(4),
tel3 int(4),
birthday date,
industry varchar(40),
type varchar(40),
job varchar(20),
user varchar(20),
agree bool
);

411 = :

reate table entry(
'mail' varchar(15),
'domain' varchar(15),
'is_a_group' bool,
'name' varchar(20),
'group' varchar(40),
'post' varchar(20),
'prefecture' varchar(8),
'station' varchar(20),
'adress' varchar(40),
'tel1' int(4),
'tel2' int(4),
'tel3' int(4),
'birthday' date,
'industry' varchar(40),
'type' varchar(40),
'job' varchar(20),
'user' varchar(20),
'agree' bool
);

412 = :

ありがとうございます。

413 :

ファイルをキャッシュするのにmysqlを使おうと思います
ファイルパスをキーにしてインデックスを張ることになるかと思いますが
そうなると255文字程度の長さは必要になります
そんな長いインデックスは実用的なのでしょうか?

414 = :

そんなときは、数値でID付けてそのIDを結合したものにインデックス張るといいよ。

415 = :

>>405
ありがとうございます。
「MySQL入門以前」という本を見ながらやっているのですが、
「データベースの初期化」というのは書いておらず、まだ一度もやっていません。
もうすこしよく勉強して、はじめからやり直してみようと思います。
ありがとうございました。

417 :

ファイルパスにmd5使うって超いいじゃん
バッティングすることなんて天文学的確率だろ
キャッシュ用途としては充分じゃね?

418 = :

Winnyがそうだから

419 = :

レコードの電話番号フィールドに「012-3456-7890」のような文字列が入ってるとして、
「01234567890」でもselect文で検索できるような方法はありますか?

concatのようなselect文中に挿入してレコードの文字列を置き換え(削除)つつ検索できたら
とても幸せなのですが、何かありますでしょうか?

420 = :

>>419
お幸せに・・
select * from hoge where REPLACE(tel,"-", "")="01234567890"

421 = :

>>419
フィールドが半角のみ確実なら正規表現 REGEXP 使えるよ

424 = :

質問です。
データベース名にアンダーバーを入れるとなぜかたまにエラーになります。
たとえば「user_address」と言うデータベースを作るとなぜかエラーになる。
前後を区切りたいときは普通アンダーバーで区切ると思っていたのですがたまにエラーになるのでやめます。
普通はどの文字で区切るのかわかりません。
というかアンダーバー以外で区切る方法他にいい案ありますか?

426 = :

>>424
なんでエラーなるの?エラーの内容は?

427 = :

>>426
エラーというかデータベースが作れなかった。
何度やっても作れなかったがアンダーバー外したら作れた。

428 = :

>>427
それは、mysqlというよりかはOSのファイルシステムの問題じゃね。

429 = :

>>428
まあそういうことになります。
どこで聞くべきかわからなかったので
とりあえずmysqlでエラーがでたのでここで聞いてみました。
失礼しました。

430 = :

質問です。
CREATE TABLE でPARTITION(TABLESPACEとか)を指定しなかったら
テーブルデータはどこに格納されるのでしょうか?

432 = :

>>431
having

434 = :

>>430
ん?何が知りたい?データディレクトリ?

436 = :

seqtable
---------------------------
id   seq   notes
a    1    ほげ1
a    2    ほげ2
a    3    ほげ3
b    1    ふが1
b    2    ふが2
b    3    ふが3
....
b   100    ふが100
---------------------------
IDごとにseqが振られているテーブルなんですが、
delete table seqtable WHERE id='b' and (seq=77||seq=97);
したあとに
ID:bの連番の欠番を低い順から抜き出すことはできますでしょうか?
(欠番がない場合は最大値+1を返してくれるようにしたいです。)
最大値は以下で取れるので
SELECT (MAX(seq)+1) As max FROM seqtable WHERE id='b';
>ID:bの連番の欠番を低い順
をお願いします。

437 :

>>436
http://codezine.jp/a/article/aid/1420.aspx?p=2
とか
http://codezine.jp/a/article/aid/1076.aspx
とかかな。

438 = :

>437さん
ありがとうございます!
上のものでやりたいことは完璧にできました

439 = :

>>435
テーブルの定義見せて。

442 = :

>>434
データベースのデータがOS上のどこに
保管されているのか知りたいです。

例えば、Oracleの場合、tablespaceの
容量を超えてデータを入れようとすると
エラーになります。(自動拡張OFFで)
その場合は、tablespaceに対して
物理的なデータファイルを追加して
領域拡張してやるのですが、
MySQLの場合は、あちこち調べても
その部分の説明がほとんどされて
おらず、不思議に思っています。

DISKの領域がゆるす限りいくらでもデータを登録できるのか?
そうだとしてもDISK上のどのパーティション(Windowsなら
どのドライブ)に存在するのか知っていないと最大のデータ
格納量も予測できず、不安ではないかと思うのですが。

443 = :

>>442
 どこに置かれるかはここに書いてるよ。
http://dev.mysql.com/doc/refman/5.1/ja/installation-layouts.html
「データベース」って書かれてるとこね。

 んで、実際のファイルは使っているストレージエンジンによります。
http://dev.mysql.com/doc/refman/5.1/ja/storage-engines.html
 普通はMyISAMかInnoDBなので、該当の部分を読んでください。

444 = :

>>442
つ http://dev.mysql.com/doc/refman/5.1/ja/storage-engines.html
ここらへんをよく読もう。

各table typeによって格納される場所は異なる。

445 = :

かぶった・・・orz

446 = :

>>442
っていうか、show variables like 'datadir';

447 = :

下記のようなSQLを書いた場合、
何故か id が 0 のものが抽出されてしまいます。
なぜでしょうか?
また、回避法はありますでしょうか?
※検索に利用する為、0と検索された場合はidが0のものが抽出されるようにしたいので
AND id <> 0
は使わないでやりたいです。

SELECT * FROM users WHERE id = 'うんこ'

448 = :

ありがとうございます。
ある意味オラクルよりややこしいですね。

449 = :

>>447
usersのCREATE TABLEみせて

450 = :

>>449
こちらになります。

create table users (
index int(11) not null auto_increment,
id int(11) default '0' not null ,
pw varchar(40) not null ,
PRIMARY KEY (index)
);


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

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


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