MySQL総合

このエントリーをはてなブックマークに追加
941NAME IS NULL:04/03/16 03:18 ID:???
MySQL4.0なんですけど
カラム名にマルチバイト文字はいいんでしょうか?
SQL文は発行できるんですけど、、正式なサポートはありますか?
ちなみに、文字コードはEUCです
942938:04/03/16 11:32 ID:???
>>939,940

???
943NAME IS NULL:04/03/16 12:28 ID:???
>>938
MULはユニークキーのこと
944NAME IS NULL:04/03/16 13:03 ID:???
>>943
UNI
945NAME IS NULL:04/03/16 13:04 ID:???
>>944
ハァ?
釣るなよ。
俺のはunique属性つけたらMULって出るし。
クライアントによって表示される文字が違うってか?
946NAME IS NULL:04/03/16 13:05 ID:???
>>944
サバとイクラ
947NAME IS NULL:04/03/16 13:39 ID:???
>>945
not null付けてないフィールドにuniqueインデックスを指定すると、desc tablename
で「Key」の欄がMULになるね。
not nullを付けてると、PRIかUNIになる。
948947:04/03/16 13:42 ID:???
>>947は4.1.1-alphaで確認したので、他のバージョンでは違うかも。
949NAME IS NULL:04/03/16 13:58 ID:???
>>947
ああ、NOT NULLか。それは忘れていた、スマソ

#そういやNOT NULLなんてしたことないなぁ・・
950941:04/03/16 13:59 ID:???
あの、僕は
951NAME IS NULL:04/03/16 14:06 ID:???
>>950
正式なサポートがあれば
ttp://www.mysql.com
のどこかに書いてあるだろ
952941:04/03/16 14:45 ID:???
ということは、正式にサポートしてないってことでいいんですね?

いいんですね?
953NAME IS NULL:04/03/16 15:13 ID:???
>>952

カラム名にマルチバイト文字を使おうと思ったことがありません
ですから調べたことがありません。
よって知りません。

>ということは、正式にサポートしてないってことでいいんですね?
>
>いいんですね?

ご自分でご判断ください。
954941:04/03/16 15:22 ID:???
使えね
955NAME IS NULL:04/03/16 15:31 ID:q69hCdAh
RedHat7.3に、MySQL4.0.18をrpm -i mysql... でインストールしました。
で、どうすりゃいいの?
956NAME IS NULL:04/03/16 15:33 ID:???
rpm -e mysql...
957NAME IS NULL:04/03/16 15:33 ID:???
958941:04/03/16 15:48 ID:???
>>957
使える

何でもいいのか、thx。日本語にできてよかった
959NAME IS NULL:04/03/16 20:58 ID:???
>>958
できないよ、ハゲ
日本語くらい読め
960NAME IS NULL:04/03/16 21:18 ID:???
>>941
マルチバイトのカラム名とかは、バッククォートで括りゃ
確かに動作してるように見えるし、大方支障はないと思うけど
使ってるファイルシステムにも絡む部分だったり、よっぽどのことがない限り
余計な問題を避けるために最初から使わない。他のDBMSからの移行でも
DBMS変更にまつわる修正作業に含めちまって、変更するのが普通だぞ。

本などの例で日本語で記述してるのは、判りやすく説明するためで
別に著者も実際に日本語で書くのを薦めたりしちゃいないよ。
961941:04/03/16 21:50 ID:???
>>960
そうですか。
テスト成績を保存するDBを作ってるんですけど
DBのカラム名に教科名を日本語で入れたら楽なんだけどなぁ。。
今は、カラム名を英語で書いてます、Japanese,Math等。
そして、subjectと言うテーブルに
Japanese->国語
Math->数学
とやってるので、
2回テーブルからデータ取得しないといけないんで面倒なんですよね。。。
962NAME IS NULL:04/03/16 22:26 ID:???
>>961
そういうときは迷わず日本語で書いた方がいい
多言語対応するつもりも無いだろうし
いまさら多バイト文字がダメンじゃ処理系なら
黒く塗りつぶせ
963NAME IS NULL:04/03/16 22:55 ID:???
>>961
モデリングっていうか、カラムの構成が間違ってるような気がする…
964NAME IS NULL:04/03/16 23:17 ID:???
>>963
ドウイ。
>>961
自分の分だけなのかクラス全員分なのか知らんけど、カラム名をsubjectにして
1人分に対して教科数分のレコードを作ったら?
教科マスタみたいなテーブルには
1->国語
2->数学
って入れとく。
965941:04/03/16 23:20 ID:???
>>963
そうなんですか。。

test_2003_4テーブル(2003年度4回目、つまり学年末試験)

No | Japanese | Math | Digital | English1 | English2 |
---------------------------------------------
1   54      84   70     98     100
2   51      21   100    75     43



test_date_infoテーブル

TableName |    JpName  |
---------------------------
2003_3    2003年後期中間
2003_4    2003年学年末



test_subject_info

ColmnsName |   JpName  |
--------------------------
Japanese    国語
Math       数学
Digital      デジタル回路
English1     英語T
English2     英語U



こういうような感じなんですが
966NAME IS NULL:04/03/17 00:31 ID:???
>>965 本来的な話だと正規化したほうがいいよね
それならカラム名の問題も出てこないし。

でも、Excelから入れる程度のデータ量っぽいので
無理に正規化しないほうがいいのかも。
967941:04/03/17 00:35 ID:???
>>966
正規化、とはどういう風にすればいいのでしょうか。
DBは何分無知なもので・・・
是非ご教授お願いします。
968NAME IS NULL:04/03/17 00:35 ID:???
>>965
げぇ、ExcelからCSVでそのまま持ってきましたね?w

あくまで私見、として見てほしいんですけど

scoredata テーブル

No | StudentID | InfoID | SubjectID | scorel |
--------------------------------------
1    1010   20033      1     54
2    1010   20033      2     84
3    1010   20033      3     70
4    1010   20033      4     98
5    1010   20033      5    100
6    1011   20033      1     51
7    1011   20033      2     21
8    1011   20033      3     100
9    1011   20033      4     75
10    1011   20033      5    43

date_infoテーブル

  ID    |     Name   |
---------------------------
20033    2003年後期中間
20034    2003年学年末


subject_info テーブル
  ID    |     Name   |
---------------------------
  1        国語
  2        数学
  3       デジタル回路
  4        英語T
  5        英語U

student_info テーブル
  ID    |     Name   |
---------------------------
 1010      モナー
 1011      ギコ

969NAME IS NULL:04/03/17 00:36 ID:8f9bk80H
LinuxとPHPとMySqlをはじめたばかりですが、

<?php
$ID= mysql_connect("localhost","","");
if($ID != FALSE)
{
print "The connection to the server was made successfully.";
}
else
{
print "The connection to the server failed.";
}
mysql_close($ID);
?>

という文を書き実行すると、Call to undefined function, mysql_connect
とでてきます。mysql_connectという関数を認識していないみたいですが、
ウィンドウズの方で同じ文を書き実行すると正しく表示されます。
Linuxのほうのmysqldは起動しています。アパッチもきちんと動いてます。
Red Hat Linux 9をフルでインストールして、その後の設定は行って
いません。何が原因でmysql_connectという関数がよびだされないんでしょうか?
970941:04/03/17 00:38 ID:???
>>968
>げぇ、ExcelからCSVでそのまま持ってきましたね?w
え?、これ手打ちですけど・・・


なんか、テーブル同士の関連付け?みたいな、そんな高度なもの全然知らなくて、テーブルは切って考えてました。。

InfoIDはそうすれば一つにまとめまればきれいですね。
始めたばかりのときに、問い合わせのWHEREもしらなかったので試験日ごとにテーブル分けてました。
971NAME IS NULL:04/03/17 00:52 ID:???
>>968のつづき。

んで
select Name.student_info,Name.date_info,Name.subject_info,score from scoredata
left join student_info on StudentID=ID.student_info
left join date_info on Info_ID=ID.date_info
left join subject_info on SubjectID=ID.subject_info
where StudentID = 1010;

アドリブで手打ちしたので動作確認してない→動かなかったらスマソ

これやらないと、RDBを使ってる意味がない…

972941:04/03/17 00:54 ID:???
left join〜ってのがそういうことですね。なるほど、勉強になります
973971:04/03/17 01:08 ID:???
>>972
強引にMySQLの話題に戻すと、注意点は
・日本語入ってるカラムはバイナリ指定が吉。
・日本語入ってるカラムは主キーにしないw
ってところかなぁ。
ガイシュツだけど、2バイトコードは悪さする&多言語対応は考えられないので
974NAME IS NULL:04/03/17 01:10 ID:???
>969
マニュアル嫁
975941:04/03/17 01:10 ID:???
>>973
主キーにはしてませんね。ユニークキーにはしてますけど。
バイナリがいんですか、varcharでやってました・・・
976971:04/03/17 01:39 ID:???
>>969
マニュアル嫁2

MySQLはインストール直後にrootのPass設定しなくちゃダメだわさ。
そんなことは、どんな解説本にも出ているわさ。
んで、最悪でもrootのアカウントとPassは入れとかなくちゃ動かないわさ。
(ふつうは、別アカウント作って制限かけるけどナー)

なんでWindowsでは動いてるの?
そっちのほうがおかしいぞ
977NAME IS NULL:04/03/17 07:37 ID:AGUZPTGB
>>969
RedHat9は触ってないから推測だが、PHPが--with-mysqlオプション付きで
コンパイルされているのかな。phpinfo()の情報見てみれ。
ソフトエイジェンシーからLAMPパッケージを取ってきて入れ替えて見るのが
良いかと
978NAME IS NULL:04/03/17 09:11 ID:???
>>976
あれっ、LinuxだとMySQLユーザのrootにpasswd必須だっけ?
取り合えずWindowsは、ビルトインユーザのrootにはpasswdは無くても動く。
# passwdを無しで使うシチュエーションもそんなにないが。

>>969
件のPHPの吐いてる Call to undefined functionは >>977 の考えてる理由かな。
Windows版はMySQLエクステンションをPHP本体に静的に組み込み済み。
RHLの方はphp-mysql*.rpmパッケージにより、後で動的に組み込む必要があるが
それが上手くできてない。本当はフルインストで入る筈だけどね。
因みに動的組み込んだエクステンションは、phpinfoのconfigureのところでは表示されない。
RHL純正rpmのPHP本体だとマルチバイト機能も不足してるから、必要ならsrpmを使って
再ビルドして組み込まないと駄目。

貴方くらいだと素直にソフトエイジェンシーのrpmを取ってきた方が良いよ。
979978:04/03/17 09:41 ID:???
デジャヴの原因は↓か。
http://www.mysql.gr.jp/mysqlml/msg.cgi?ml=mysql&id=8725
このケース、提示されている情報からだとインストールできてて
良い筈なんだが何か上手くいってない。この後を自力で調査して
解決できないのなら、別のを模索する方が手っ取り早いね。
# これ、原因を類推できる人いる?
980NAME IS NULL:04/03/17 09:46 ID:vWVqCFS9
次スレ、まだぁ?
981NAME IS NULL:04/03/17 10:24 ID:???
取り合えず草稿。タイトル決めよう。

ちと長いので、分割して2レス目あたりに各言語毎の
対応する情報持ってこれないかな?
PerlとかPythonの該当しそうなページ見つからんかった。

公式サイト(英語)
http://www.mysql.com/
日本MySQLユーザ会(MyNA)
http://www.mysql.gr.jp/
日本語マニュアル
http://www.mysql.com/doc/ja/
http://www.mysql.gr.jp/jpdoc/
メーリングリスト案内&検索
[MyNA(日本語)]
http://www.mysql.gr.jp/ml.html
http://www.mysql.gr.jp/mysqlml/
[本家(英語)]
http://lists.mysql.com/
http://lists.mysql.com/search.php

MySQL関連本
http://www.mysql.gr.jp/books.html
http://www.mysql.com/portal/books/

前スレ
[MySQL総合]
http://pc2.2ch.net/test/read.cgi/db/1056942908/

関連スレ
[mysql ヘルプ!]
http://pc2.2ch.net/test/read.cgi/php/1011683282/
[MySQL vs PostgreSQL]
http://pc2.2ch.net/test/read.cgi/php/989341364/
982NAME IS NULL:04/03/17 11:02 ID:???
テンプレにGPLについての簡単解説載せてくれ
983NAME IS NULL:04/03/17 12:34 ID:???
>>981
タイトルは素直に「MySQL総合 Part2」を推します。
下記リンクの追加をお願いします。

日本語マニュアル
http://www.softagency.co.jp/mysql/Manual/
4.1.1のマニュアルをmysql.gr.jpと同じ形式で公開しているので
mysql.comとmysql.gr.jpの間が良いです。

MySQL+各言語
[快速MySQLでデータベースアプリ!]
http://www.atmarkit.co.jp/flinux/index/indexfiles/mysqlindex.html
[実践MySQL]
http://www.softagency.co.jp/mysql/TIPS/
984981:04/03/17 14:52 ID:???
夜中に慌てるのも何なので、新スレ立てました。
レス番#1が長すぎた気がする、ごめん。

[MySQL総合 Part2]
http://pc2.2ch.net/test/read.cgi/db/1079502373/-3
985NAME IS NULL:04/03/17 20:22 ID:???
986NAME IS NULL:04/03/17 21:56 ID:???
987NAME IS NULL:04/03/18 00:01 ID:???
988NAME IS NULL:04/03/18 01:29 ID:???
989NAME IS NULL:04/03/18 09:37 ID:???
(゚д゚)ウマ-
990NAME IS NULL