トップページ⇒php
988コメント357KB

mysql ヘルプ!

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。02/01/22 16:08ID:kMbsTQE3
リモートから家(常時接続)のmysqlサーバにつなげません
状況を詳しく書きます
PHPが動くプロバイダーのディレクトリにおいた自分の家の
mysqlサーバを操作するPHPに
$db = mysql_connect("mysqlサーバのip:3306","ゆーざ","ぱす");
と書いたのですが、駄目でした。
どうすればいいのでしょうか?
0592nobodyさん04/09/25 09:14:22ID:4AK3lwq0
当方、perl ActivePerl-5.8.4.810-MSWin32-x86.msi
からmysql mysql-4.1.4-gamma-win
を使っているのですが
mysql側のタイムスタンプなどで時間記録を残す時に
perlのtimeのような1970/01/01を基準とした関数はないのでしょうか?

おそらく、unixなんたら〜に該当する関数でありそうなんですが
日数表示などはあっても秒数表示がみあたりません。

お力添えしていただけないでしょうか。お願いします。
0593nobodyさん04/09/25 09:46:49ID:???
>>591
取り合えずDB板のMySQLスレも読むのと、MySQL公式マニュアルを読もう。
http://dev.mysql.com/doc/mysql/ja/Multiple_servers.html
マニュアルにはそのものが書いてあります。ソース/SRPM等から単体のインストール
が出来る人ならそう難易度は高くはありません。

文字エンコードの異なるDBは私も複数インストールしてます。
バージョン違いも同じマシンにインストールできますが、
私はこれは、別のマシンに分けてますが。


>>592
先ずはマニュアルを…
UNIX_TIMESTAMP()
http://dev.mysql.com/doc/mysql/ja/Date_and_time_functions.html
マイクロタイムまで欲しければMySQLのバージョンに依存するけどね。
059452904/09/25 10:07:19ID:???
レスありがとうございます。
私もそこは見つけて
create table timestamp (
id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
TimeStampName VARCHAR(50),
time TIMESTAMP(14) NOT NULL,
time2 UNIX_TIMESTAMP() NOT NULL,
PRIMARY KEY (id)
);
このようなテーブルを作ってみたのですが

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 'UNIX_TIMESTAMP() NOT NULL,
PRIMARY KEY (id)
)' at line 5

このようなエラーがでてwinでは無理なのかと思っていました。
これはwinではなく、verエラーもしくは構文エラーになるのでしょうか?

先ほど
マニュアルにあるように
SELECT UNIX_TIMESTAMP();
という使い方をすれば正常に動作してくれましたので構文エラーだと思うのですが
上に書いたようにテーブル作成の要素の一つとして設定することはできないのでしょうか・・
0595nobodyさん04/09/25 12:30:56ID:???
>>594
いや、UNIX_TIMESTAMPは値(符号なし整数)であって、TIMESTAMPのような
型ではないからテーブル定義のカラムの型には指定できないでしょ。
考え方自体がおかしい。
http://dev.mysql.com/doc/mysql/ja/Date_and_time_types.html
の日付/時刻関係の型についても読んで味噌。自動/手動によるキャストにも注意。
059652904/09/25 18:42:53ID:???
>>595
どうもです。
リンク先読ませていただきました。

ない知恵絞った結果、mysqlから抽出したTIMESTAMP(14) データを
再度select unix_timestamp(抽出したデータ)
というような形で変換しました。
0597nobodyさん04/09/28 00:33:27ID:???
mysqladmin -u root create testdb
と実行して、エラーなしでmysql\dataにtestdbフォルダが生成されているのですが、
mysqlshowと打ってみると
+-----------+
| Databases |
+-----------+
| test |
+-----------+
となっていてtestdbが出てこないのですが、原因は何でしょうか・・・
mysqladmin -u root drop testdb
と実行して、yを選択すると
Database "testdb" dropped
と表示されてmysql\dataのtestdbフォルダも削除されるのですが。
0598nobodyさん04/09/28 00:41:11ID:???
>>597
mysqlshow -u root
でどうぞ。
0599nobodyさん04/09/28 00:43:15ID:???
>>598
あぁぁ・・・できました><
やはり付け焼刃でつつくとこうなるんですね;;
どうもありがとうございました。
0600nobodyさん04/09/28 15:47:09ID:O7ctbSQ2
スレに便乗して悪いけど、
windowsのMySQLはMySQLのディレクトリの直ぐ下にdataディレクトリがあってそこにDBのデータが蓄積されてるけど
Linux版のMySQLはどこのディレクトリに格納されるんですか?
dataディレクトリが見当たらないのですが。
0601nobodyさん04/09/28 16:22:38ID:???
>>600
ディストロによって違うと思うけど、rpmとかdebを調べるんじゃないかな
ソースから入れてるならMakefileを見れば分かる
それ以上の詳しいことはLinux板で聞いたほうが早い
0602nobodyさん04/09/30 15:57:16ID:6hdui1am
MysQLのCREATE TABLEをSQLファイルに入れて読み込むにはどうすればいいのですか?
0603nobodyさん04/09/30 17:11:32ID:???
>>602
mysqlコマンドを使う。
http://dev.mysql.com/doc/mysql/ja/mysql.html
060460204/09/30 17:37:07ID:6hdui1am
でも、PHPファイル上から読み込むには?・・・
0605nobodyさん04/09/30 17:50:27ID:???
InnoDB Hot Backupって一度購入したら他のサーバデモつかえる?
0606nobodyさん04/09/30 20:50:20ID:???
>>604
ファイルを読んで、そのSQLをPHPのmysql関数で叩く。
0607nobodyさん04/09/30 21:09:33ID:???
>>605
期限付きまたは無期限の、サーバ毎のライセンス。
サーバの入れ替えに伴う移動は出来るだろうけどね。
060860204/09/30 23:34:28ID:6hdui1am
>>606
読みました、でもDBを作る関数がわかりません
0609 04/10/01 01:23:01ID:???
0610nobodyさん04/10/01 01:27:08ID:???
こそこそageる暇があるのなら「php mysql」でぐぐれば?
いくらでもヒットするぞ
0611nobodyさん04/10/01 09:00:20ID:???
>>608
ちゃんと探せ。ただ俺が言ってるのはDBを作るSQLを使った方法。どっちでも良いけど。
PHPのリファレンスマニュアルぐらい読んだら?あと、いちいち訊くより
入門本一冊買った方がスムーズに学習できると思うけど?
0612nobodyさん04/10/01 09:04:19ID:???
なんであそこまで懇切丁寧なマニュアルがあるのに読もうとしないんだろうね。
0613nobodyさん04/10/01 17:28:26ID:TVRBqqbo
vachar項目で全角文字が入っている項目同士の
外部結合はできない?

select a.zzz,b.xxx from a left join b on a.aaa b.aaa
aaaには全角文字で同じ値が入っている

b.xxxがnullになってしまう

0614nobodyさん04/10/01 20:27:40ID:syLlomTs
マニュアルのmysqldumpの項目で、いまいちわからんのですよ・・・

データベースサーバA から データベースサーバB に、
mysqldump で データベースをコピーしたいと思ってます。

サーバAのデータベース(テーブル)はLockしたくないのですが、
サーバBのデータベース(テーブル)はLockしてもOKです。

--add-locks と --lock-tables
これ、どんなLockになるのか、マニュアルから読み取れませんでした。
教えてもらえませんでしょうか?
061561404/10/01 21:09:26ID:syLlomTs
dumpはdumpとるだけだから、lockしたくなかったら、
両方のオプションをつけない方向ですね…

続けて質問なのですが、
mysqldump では 複数のテーブルを一度にdumpすることはできないでしょうか?
0616nobodyさん04/10/01 22:23:28ID:???
>>615
"tables"つうのは「テーブル名をスペースでセパレートして列挙」つうこっちゃ。
061761604/10/01 22:32:10ID:???
ああ複数のDBに跨ってということなら、やりかたは俺は知らない。
0618nobodyさん04/10/02 19:45:56ID:zf6X98MX
自動インストールプログラムでインストールしたのですが、
プロンプトで実行しようとするとcannot conect local hostというのが
出ます。
どうしたらよいでしょうか?
061961804/10/02 19:59:52ID:zf6X98MX
もっと詳しく書くとこれです。
can't connect to mysql server on 'localhost'
環境はwindous xp homeです。
0620nobodyさん04/10/02 20:01:58ID:???
>>618
単純に考えてMySQLサーバ(mysqld)が起動していない。
062161804/10/02 20:12:20ID:zf6X98MX
c:\mysql\bin>mysqld
と入力したのですが、何の反応も無く改行します。
その後、
C:\mysql\bin > mysqladmin -u root password root_s_pwd
という感じで入力すると、can't connect to mysql server on 'localhost'
など、何行かエラーメッセージが出てきます。
0622nobodyさん04/10/02 20:24:31ID:???
>>621
>c:\mysql\bin>mysqld
>と入力したのですが、何の反応も無く改行します。
起動して無いと思われ。つかインストーラでインストールすると
自動的にサービスに自動起動するように登録される。
(コマンドラインでmysqldとして普通のプロセスとして起動させるのも間違いではない)

エラーログが出てるから読んでごらん。
062361804/10/02 22:55:17ID:Mfak8V2G
>>621

>>エラーログが出てるから読んでごらん。
それがこれなのですが。
can't connect to mysql server on 'localhost'
0624nobodyさん04/10/02 23:09:21ID:???
>>623
それはエラーログじゃなくて、mysqlクライアントが吐いたエラー(表示)。
エラーログについてはここ。
http://dev.mysql.com/doc/mysql/ja/Error_log.html
(Windowsはmysql.errって書いて在るけど、最近はUnixと同様hostname.errになってる気がするな)

現在表示されてるエラー表示からの問題解決の基本手順は
http://dev.mysql.com/doc/mysql/ja/Can_not_connect_to_server.html
062561804/10/03 00:23:15ID:mW2Tv4q+
>>624
なんとか起動できました。
最初のマスター登録をしてなかったので起動しなかったことが
わかりました。
ありがとうございました!!
0626nobodyさん04/10/03 16:41:42ID:HbeYcF9z
mysql-4.1.5-gamma-win.zipをインストールしている最中なのですが、
MySQL Server Instance Configuration Wizardの最後の画面で、Execute
をクリックした後にStart serviceの項目に×印が入りFinishができません。
どうしたらよろしいでしょうか?
062762604/10/03 17:01:54ID:HbeYcF9z
MySQL Server Instance Configuration Wizardの最後の画面を
終了しないままMySQLを起ち上げたのですが、コマンドプロンプトで
mysqld is aliveと出ました。
正常動作しているみたいなのですが、
このままMySQL Server Instance Configuration Wizardの最後の画面を
Cancelで終了しても良いのでしょうか?
0628nobodyさん04/10/11 10:38:34ID:29ynadmT
質問させて下さい。MySQL 4.0.14です。
例えば、日記のデータが保存されているDBで、
8月1日からのデータから過去に10日分表示させたい場合のセレクト文がわかりません。
※データは必ずしも毎日入っているわけではありません。
このテーブルのPRIMARY KEYはtoday(データ型:date)です。

SELECT today FROM diary WHERE today = '2004-08-01';

だと1日分ですが…ここから10件表示させたいんです。
ヨロシクお願いしますm(_ _)m
0629nobodyさん04/10/11 11:34:21ID:???
SELECT today FROM diary WHERE today <= '2004-08-01' limit 10;
じゃないの?俺もよくわからんけど。
063062804/10/11 12:09:30ID:29ynadmT
できました(*^▽^*)
有難うございました♪スレのレベル下げちゃってゴメンナサイ。
629さん有難うございました。
0631nobodyさん04/10/12 13:43:09ID:???
XREAでMySQLのデータベースを使用しているのですが、

PHP上で、
mysql_query("CREATE table temp1 AS SELECT id FROM m_act_imp WHERE (name LIKE '%".$act."%');");
という文を発行すると、テーブルtemp1はできますが、
LIKEにマッチしてるにも関わらず空になってしまうのです。
phpmyadmin上でならばtemp1上のidにデータが格納されるのですが・・・。

何故空になってしまうのでしょうか?
よければお教えください。お願いします。
MySQLは3.23.58です。
0632nobodyさん04/10/12 15:16:37ID:???
>>631
思わぬ勘違いをしていることもよくあるから、まずはqueryに渡す文字列を画面に
も表示してみることから始めてみましょう。
063363104/10/12 17:49:38ID:???
ローカルにサーバー立ててやってみたら、できました。

単にレンタルサーバのユーザーに権限がなかっただけ・・・ですかね。
MySQLは4.0.12ですが関係ないでしょうし・・・。

>>632
それはやってたんですよね。
結果的にはあまり関係はありませんでしたが、
お早いお返事ありがとうございました。

0634nobodyさん04/10/13 08:01:16ID:pwP4Zh+W
phpMyAdminのランタイム情報の、

o 時毎

とはどういう意味でしょうか?
0635困りました04/10/13 18:56:57ID:4r9iZ+Q4
教えてください。
MySQL+PHP4.Xで開発をしているのですが

ある不特定のユーザーが登録済みのデータや画像ファイルを変更しようとすると
登録してあるデータおよび画像ファイルが消えてしまう現象が起きました。
消えない場合もありました。

PHPのソースを追いかけても削除しているロジックがありません

内部で再現テストをしてもまったく起きる気配がありません。。。
しかし、ユーザーから「データが消えた」とクレームがいまだ来たりしています。

一般向けに公開しているサイトであるため複数アクセスはあるので
トランザクションの問題かと思ったりもしたのですが
テスト上ではこういう現象はやはり起きませんでした

MySQLの設定でこういう問題は回避できるのでしょうか?
それともユーザーの回線が細いとこういう現象がおきやすいのでしょうか?

OSはRedHat7Jです
0636困りました04/10/13 18:58:58ID:4r9iZ+Q4
追記です
MySQL のバージョンは、3.23.54 です
0637nobodyさん04/10/13 20:26:54ID:???
>>635
そんだけの情報で何か判断は付かんわ。
不完全なデータで更新(上書き)されちゃってる感じか。

再現テストは「ユーザーの回線が細い」と問題がでると思われる
ような作りの部分があるなら、ちゃんとネットワークの延滞を作ったり
帯域を絞って仮想環境作ってテストした方が良いよ。
0638困りました04/10/13 20:53:13ID:4r9iZ+Q4
ありがとうございました。
ネットワークの延滞を作ったり
帯域を絞って仮想環境作ってテストしていないので
まずはそこら辺を考慮したテストを行っていきます。
0639nobodyさん04/10/13 21:32:59ID:???
>>638
あとDBMS側で更新クエリログを取るのと、PHPスクリプト側で
要所要所でログ出力してテストしないと意味が無いので忘れずに。
0640nobodyさん04/10/14 18:09:39ID:bdzAlbua
MySQL4.0.20なんだが、

name | DATA
-----+------
neko |ねこ
nuko |ぬこ
giko |ぎこ
(以下略)

こーゆーテーブル試しに作って、
select * テーブル where data 'ね%';
を実行すると、[ねこ]と[ぬこ]がマッチしてしまうのだが、これはなぜだ?
select * テーブル where data 'ぎ%';
だとちゃんと[ぎこ]だけがマッチするんだけどなぁ。
0641nobodyさん04/10/14 18:23:47ID:???
>>640
select * テーブル where data like binary 'ね%';

MySQLは文字列比較するときデフォルトでアルファベットの大文字小文字を
同一視するようになっている。その副作用と思われ。

ttp://dev.mysql.com/doc/mysql/ja/Case_Sensitivity_Operators.html
0642nobodyさん04/10/14 18:50:10ID:???
>>641
すばやい回答さんくす。
SQL自体勉強始めたばっかりなもので。
これからがんばってドキュメント類ばりばり読み進めます。
海より深く感謝。
0643nobodyさん04/10/15 17:26:39ID:K5MUiGQA
MySQLって個人のウェブサイトの運用に役に立ちますか?
掲示板の書き込みの管理くらいしか思いつきませんが…
みなさんはどんな用途でMySQL使ってるんですか?
0644nobodyさん04/10/15 17:36:07ID:???
>>643
水泳大会の記録を保存している。
携帯で検索できるようにして大会会場でも記録の確認ができます。
0645nobodyさん04/10/15 19:13:21ID:???
PHP+MySQLで掲示板を作ろうと思ってるんですが、ログとMySQLに保存するようにすれば排他処理はしなくていいんですか?
0646nobodyさん04/10/16 08:41:00ID:???
何をどう排他処理したいのかわからないが
やらないよりはやったほうがいいんじゃないの?
複数人で使う掲示板ならなおさらだね
0647nobodyさん04/10/16 22:27:47ID:???
>>645
ファイルロックを気にしてんの?

しなくていいよ。 複数人で使う掲示板であっても 
064864504/10/17 02:59:46ID:???
>>647
ありがとうございます。ファイルロックの事です。
0649nobodyさん04/10/17 03:51:26ID:???
PHP+Mysqlで掲示板作り私も興味あります
処理早いよね?
0650nobodyさん04/10/17 09:53:16ID:???
>>649
あなたの書いたコードによるのであなたの書いたコードで実測してください
0651nobodyさん04/10/17 15:27:26ID:???
>>650
この板、こんな厨ばっか
065265004/10/17 16:20:49ID:???
>>651
すみませんでした
0653nobodyさん04/10/18 11:46:27ID:x7S7FTDO
すみません。質問させてください。
【環境】
OSX10.3.4
PHP4.0
phpMyAdmin Version 2.6.0, pl2

上記の環境をローカルに作成したのですが
phpMyAdminがうまく動作しません。
言語の変更やテーブル作成をしようとクリックすると
サーバが見つかりませんというエラーが出てしまいます。
0654nobodyさん04/10/18 11:57:56ID:???
PHP4.0に驚いた
065565304/10/18 12:26:21ID:x7S7FTDO
またmySQLを「mysql」コマンドで起動させようとすると
command not foundで認識されません。


0656nobodyさん04/10/18 13:12:41ID:???
>>653
phpMyAdmin だけをインストールして MySQL 本体をインストールしていないと見た。
065765304/10/18 13:25:01ID:x7S7FTDO
お返事ありがとうございます。
おそらくMySQLのほうが怪しいです。
手順通りインストールしたものの
コマンドが使えません。
書籍にはインストールしたらすぐに
コマンドを使用できると書いてあるのですが。
もちろんMySQLは起動してます。。。
0658nobodyさん04/10/18 15:39:18ID:???
サーバーが見つかりません
↑
そのままだと思うw
サーバーがないんじゃ・・・w
0659 04/10/18 15:47:18ID:???
ググったらこんなの出てきた
http://homepage.mac.com/dnagase/macosx/perlcgi.html

どうやら、MacはBSD仕様なのね
生意気なw
066065304/10/18 18:31:28ID:x7S7FTDO
どうしてもmysqlに入れないです。。。
command not found。。
mysqlコマンドを使用するのに
特別な設定が必要なのでしょうか??
0661nobodyさん04/10/18 18:58:41ID:???
>>660
・(そのユーザに対して)パスが通ってない。
・コマンドツール類がサーバとは別パッケージで、それをインストールしてない。

本の記述通りのもの(同一バージョン/パッケージ)を、指示通り入れてるか確認
066265304/10/18 19:04:27ID:x7S7FTDO
>>661
お返事ありがとうございます。
一番目のパスの設定は特にしていないです。
どのように設定するのでしょうか??
0663nobodyさん04/10/18 19:09:33ID:???
パスの設定方法が本に書かれていないわけがないと思うのだが
0664nobodyさん04/10/18 19:42:22ID:???
この手のオチは「本の記載通りにきちんとやっていませんでした」が大半。
0665nobodyさん04/10/18 21:56:32ID:x7S7FTDO
結局パスは通さずにディレクトリ指定で
コマンドたたいて入りました。
mysql> create database XXX;
ERROR 1044: Access denied for user: '@localhost' to database 'XXX'
これはどういう状態なのでしょうか??
0666 04/10/18 22:04:34ID:???
anonymousでログインしたってことじゃ?
0667nobodyさん04/10/18 22:04:36ID:x7S7FTDO
ユーザの権限なんですかね。。。
今度はrootで入ったら
mysql> create database XXX;
ERROR 1006: Can't create database 'XXX'. (errno: 13)
というエラーが発生してしまいました。
0668nobodyさん04/10/18 23:08:50ID:???
>>667
> ERROR 1006: Can't create database 'XXX'. (errno: 13)

errno 13はOSが出してるエラーで、EACCESS (Permission denied)。
MySQLではデータベースをディレクトリにマップするので、このエラーが出たということは
mysqldはデータディレクトリ内にサブディレクトリを作る権限がないということ。

データディレクトリのパーミッションを確認してみたら?
0669nobodyさん04/10/18 23:36:36ID:x7S7FTDO
すみません。
回答が質問を呼ぶ形になって申し訳ないです。
mysqldとは一体なんなのでしょうか?
067066804/10/18 23:49:38ID:???
>>669
おいおい…
mysqldはクエリを解釈してデータへアクセスしたりするデーモン(サーバ)で、常時稼動している。
mysqlコマンドを含むクライアントはこのデーモンに接続してクエリを発行し、結果を受け取る。
http://dev.mysql.com/doc/mysql/ja/Server-Side_Overview.html#IDX662

手元に書籍があるならまず載ってるから、ちゃんと読んでね。
0671nobodyさん04/10/19 22:13:12ID:rQaAfL61
mysqlのデータ飛んだぞ
やっぱりwindowsサーバはゴミだな
0672nobodyさん04/10/19 22:43:05ID:???
>>671
そうか。
それは大変だったな。
0673nobodyさん04/10/20 10:49:21ID:???
>>671
ロックしろよ おまえがゴミだろ
0674nobodyさん04/10/20 11:09:05ID:???
ロックしないだけでデータが飛ぶなんて普通ありえないだろ?DBなんだから
0675nobodyさん04/10/20 14:53:55ID:???
すみません、己の不明を恥じつつ質問させてください。

メールアドレスの重複を許さないテーブルを作成したいと思います。
メールアドレスをprimary keyとして指定すればいいのだと思うのですが、
255文字以上の文字列はprimary keyにできないのでしょうか。
RFC2821で許されるメールアドレスの最大長は64byte@255byteとのことで、
255文字を超えてしまいます。

ハッシュをprimary keyとすることもできるようなのですが、
SHA1やMD5などのハッシュを使うと非常にまれに異なるメールアドレスから
同一のハッシュが生成されてしまうのではないでしょうか。

どなたか知恵を貸していただけませんでしょうか。
0676nobodyさん04/10/20 15:55:21ID:???
>>675
バージョンがわからないのでなんともいえないけど

1. TEXT型とする(格納前にアプリケーション側で長さチェック)
  CREATE TABLE mailaddr(addr TEXT NOT NULL, PRIMARY KEY(addr(320));
2. local-partとdomainに分けて複合キーとする
  CREATE TABLE mailaddr(localpart CHAR(64) NOT NULL, domain CHAR(255) NOT NULL,
  PRIMARY KEY(localpart, domain));
3. 最大キー長を変更してmysqldをコンパイルしなおす
4. 「このシステムはRFC821に従いました」と主張する、または255文字を超えるメールアドレス
は格納できない仕様だと主張する
067767504/10/20 15:56:42ID:???
>>676
× CREATE TABLE mailaddr(addr TEXT NOT NULL, PRIMARY KEY(addr(320));
○ CREATE TABLE mailaddr(addr TEXT NOT NULL, PRIMARY KEY(addr(320)));
閉じ括弧が1つ抜けてた。
0678nobodyさん04/10/20 17:05:19ID:???
ハッシュを簡易チェック用(サーチ用インデックス)として、
アプリ側で厳密チェックという作りではいかんのか?
SQLのユニークエラーでは弾けないけど。
067967504/10/20 17:26:25ID:???
みなさまどうもありがとうございます。

>>676
少なくとも手元の環境(debian stableとtestingの3.23.49と4.0.21)では1.が蹴られましたので、
3.が必要となると思われますが他のアプリケーションへの影響が怖いのと、
そもそもの255文字という制約が2.の解を採るべきだと示唆しているように思えますので、
今回は2.で行こうと思います。それでも手元では500byteまでみたいですが。
クライアントがいる場合は4.もアリですね。

>>678
Webアプリでページからメールアドレスを登録できるようなものを考えていて、新規エントリを
加える際にいきなりinsertして、それが成功したか否かで重複を検出しようと思っているのです。


今回は最大320文字なのでこれをインデックスに使っても効率の問題は出ないと思うのですが、
これが桁違いに大きいデータの場合はどうすればいいのでしょうね。
世の中的にはSHA1の衝突確率を0とみなしてハッシュのみをprimary keyとすることになっている
のでしょうか(データ自体の比較は行なわない)?
0680nobodyさん04/10/20 19:29:01ID:???
>>679
現実的にはドメイン部分はサブドメイン有りでも100文字あれば足りるので
255で切っても良いと思うけどね
可能性を考えたら切りないし現実的な対応も設計者のセンスだと思うよ。

おれなら255で切って、これで入力出来ないとか言う人は愉快犯として無視するね。
0681nobodyさん04/10/20 21:48:24ID:5ZEjjEhO
win2000+mysqlなんですが、
cmd.exeからc:\mysql\bin\mysqlにログインして「set globals ○○=××;」とすると
設定が変更されるんですが、マシンを再起動すると初期値に戻ってしまいます。
何度やってもそうなります。なぜなんでしょうか?
0682nobodyさん04/10/20 22:54:23ID:???
>>681
そういう作りになってるから。

正確には貴方が恐らく欲しいと思われる結果に対しての
操作の選択肢として間違ったものを選んでいるため。
0683nobodyさん04/10/20 23:30:08ID:5ZEjjEhO
>>682
どうしたらいいんでしょうか。お願いします、教えてください。
0684nobodyさん04/10/21 02:53:07ID:???
>>683
MySQL Manualページの左側にある「Search the MySQL manual」で
「SET GLOBAL」を検索すると答えが書いてあるページが見つかります。

MySQL Manual
http://dev.mysql.com/doc/mysql/ja/

5.5.6 SET 構文
http://dev.mysql.com/doc/mysql/ja/SET_OPTION.html
>GLOBAL を使用した場合、サーバの再起動が行われるまで
>オプションが記憶され、新規接続時も使用されます。
>オプションを永続的にする場合は、オプション設定ファイルに設定します。
>See section 4.1.2 `my.cnf' オプション設定ファイル。

4.1.2 `my.cnf' オプション設定ファイル
http://dev.mysql.com/doc/mysql/ja/Option_files.html
0685nobodyさん04/10/21 05:12:26ID:???
>>674
飛ぶよ DBは飛ばない伝説だな
0686nobodyさん04/10/21 13:25:01ID:a34sr5QL
AUTO_INCREMENT で a001 -> a002 -> a003 って可能ですか?
何か特別な設定が必要でしょうか?
0687nobodyさん04/10/21 15:51:04ID:???
test
0688nobodyさん04/10/21 16:16:42ID:???
どうしたらいいんでしょうか。お願いします、教えてください。
0689nobodyさん04/10/21 16:21:30ID:???
>>660
0690nobodyさん04/10/21 16:40:51ID:???
>>686
むりだ あとからつけとけ
0691nobodyさん04/10/21 17:36:05ID:???
>>686
それは auto_increment じゃなくて magical_increment じゃん www

create table T1 (
a int not null primary key auto_increment
);

select concat('a', lpad(a, 3, '0')) from T1;
0692nobodyさん04/10/21 20:51:48ID:B+QZBvw9
textとvarcharって負荷的にかなり違うんでしょうか?
文字の最大長のみが違う二種類のデータがあるんですが、
テーブルを別にするべきか、
全部textにして一つのテーブルに入れちゃうべきか、悩んでいます。
あまり違わない気もするし…どうなんでしょう?
■ このスレッドは過去ログ倉庫に格納されています