のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,718人
昨日: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 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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