元スレ【この先一体】MySQL 総合 Part15【どうなるの】
mysql覧 / PC版 /みんなの評価 : ○
751 = :
にしても、RDBMSで全文検索やりたがるヤシって後を絶たないなぁ。
752 = :
実務で使えるRDBMS以外のDBって何?
753 = :
>>752
いきなり何を言い出すんだ、お前は。
あと、お前がCOBOLを全く知らないことは理解してあげた。
754 = :
知ったか乙
756 = :
CHECK TABLEを全テーブルいっぺんにかけたいんですけどどうすればいいですか?
757 = :
自己解決しました。mysqlcheckを使えばいいんですね
763 = :
>>749
レプリケーションしてサマリテーブルつくってあげたらどうかな。
senna - toritonnでやってるけどunkスペックなスレーブで十分いけてる検索速度andサマリテーブル作成速度出してます。
768 = :
RHEL5(CentOS5SQL)付属のMySQL 5.0.45は
ディレクトリ構成がカスタマイズされてる。
付属版では /var/log/mysqld.log がエラーログで正しい。
770 = :
>>768
どうもありがとうございます
vi /var/log/mysqld.log したんですが、起動/終了履歴しか書いてないです
これじゃないみたいです。mysql、自前で入れた覚えないんですが、うっかりやってしまったのかな…
771 = :
>>770
たぶんあなたは、「エラーログ」について、なにか勘違いしてる。
>>767のurlにあるmysqldのエラーログってのは、
それこそ起動や(そのプロセス自体の)実行に関するエラーのことであって、
通常のSQLクエリを投げた時に、構文が間違ってたりした時の、
"You have an error in your SQL syntax~~うんたらかんたら"とか、
"Table(or column) doen't exist・・・"
ってゆうエラーのことではない。
で、そうゆう(SQL)エラーを記録するログは、>>766のとおり、mysqld自体にはついていない。
どんなクライアントアプリを使ってるかしらないけど、perlなりphpなりでやってるなら、
Apache(Webサーバ)のエラーログなり、別ファイルに書き出すなりの設定を、
クライアントアプリ側でトラップするしかない。
773 = :
1つめのselectのあとに更新がかかったら?
774 = :
初心者ですので知識に乏しいもので入門的な質問なのかもしれませんが、
テーブルを作成し、address.dbにデータを登録しました
で、コマンドプロンプトにてSELECTで確認したところ、文字化けしていました
どうやらコマンドプロンプトはShift_JIS形式で、UTF-8形式だと文字化けするようですが、これを何とか出来ないでしょうか?
検索してchcp 65001なんてものを見つけたのですが出来ず、よく分かりませんでした
データベースに書き込み時にShift_JIS変換する方法 又は コマンドプロンプトで文字化け化を直す方法を教えていただけたらと思います
WindowsXP使用で、PHPでの書き込みです
775 = :
>>774
テーブル作成時にキャラクタセットの指定はどのように?
create table ~
(
~
) ENGINE=InnoDB DEFAULT CHARSET=cp932;
みたいに指定はした?
776 = :
コマンドプロンプトで作業するときは、最初に
set names cp932
する。
777 = :
欠損値について、どうすればいいか、
いいアイデアがあれば教えてください。
Year
NA
NA
NA
2000
2000
1998
のようなCSVを
read data local infile
で読み込むのですが…
778 = :
>>775
教えていただいたように
$db->exec('CREATE TABLE address(id INTEGER PRIMARY KEY, name VARCHAR(50), address VARCHAR(150), tel VARCHAR(20), email VARCHAR(100)) ENGINE=InnoDB DEFAULT CHARSET=cp932; ');
のようにセットしたところ、まずENGINEに構文エラーが出て、ENGINEを消したところ、次はDEFAULTがエラーが出てしまいました
>>776
コマンドプロンプトを起動するとc:\Documents and Settings\メイン>となりますが、ココにset names cp932と打ち込むのでしょうか?
自分は色々な場所に打ってみたのですが、環境変数 namesが設定されていませんと出てしまいました
779 = :
こっちで以下のcreateを打ち込んだら正常にテーブルが作成されたけどなぁ
(こちらのMySQLのバージョンは5.1.37)
MySQLのバージョンは?
CREATE TABLE address(
id INTEGER PRIMARY KEY
,name VARCHAR(50)
,address VARCHAR(150)
,tel VARCHAR(20)
,email VARCHAR(100)
) ENGINE=InnoDB DEFAULT CHARSET=cp932;
setについては俺は接続する際の文字列として
以下のものを使用している(excel vbaからだけど)
*印のところは適示そちらの環境に合わせて
DB_CnString = "DRIVER={MySQL ODBC 3.51 Driver};" _
& " SERVER = ********;" _
& " DATABASE = ******;" _
& " UID = *******;" _
& " password = ******;" _
& " STMT=SET CHARACTER SET cp932;" _ ←ここ
& " OPTION =3 "
これ以上は俺には知識は無いんで他の方にお願いしてくれw
782 = :
>>771
おおお、解説ありがとうございます。
まさにおっしゃる通り、カラムがないとかデータ型がおかしいとか
そういうエラーがmysqlの機能として出力されるのかと思ってました
>クライアントアプリ側でトラップ
やってみます、ほんとにありがとう!
791 = :
5.4.2がでましたね。
まだβ品質みたいですが、そろそろ使い物になってくるかな。
792 = :
MySQL5.0からvarchar型で65535文字格納できるようになったとのことですが、
text型の使い道って今でもあるのでしょうか?
長文テキストはvarcharに、でっかいバイナリデータならblobに入れれば済んでしまいそうです。
単純に65535文字以上のテキストを格納する場合にのみtext型を使うのですか?
それとも文字制限以外にvarcharでは不都合なケースというのがあるのでしょうか?
793 = :
改行使う必要ないならvercharでいいんじゃないかな
794 = :
別に改行あってもvarcharで問題ないだろ
textは文字列をそのまんま格納
varcharは余分な空白を削除する
textfieldに対応するカラムはtextにしときゃいい
796 = :
>>794
「改行がある」と「改行を使う必要がある」は全く違う意味だろ
お前さんの言うやり方で、どうやって改行のある長文を復元できるわけ?
800 :
エラー内容で検索し、問題点の理解を行おうとしないためです。
みんなの評価 : ○
類似してるかもしれないスレッド
- 【MySQL】下らねぇ質問はID出して書き込みやがれ 2 (985) - [21%] - 2012/10/17 7:16
- 【】 MySQLを買収したSunを買収したOracleを 【】 (112) - [19%] - 2023/1/22 14:15
トップメニューへ / →のくす牧場書庫について