スレッド表示 | フラット表示〕 全トピック 920 件中 616 番目 次≫ ≪前

MYSQLでテーブルの名前がなぜか大文字になる

created: 2004-05-10 16:05 | modified: 2004-05-10 17:19 | reply: 1

[1585] MYSQLでテーブルの名前がなぜか大文字になる

user: ぽむぞう | created: 2004-05-10 16:05
こんにちは。ぽむぞうです。
いつもお世話になります。

CREATE TABLE status(省略);
として「status」という名前のテーブルを作成すると、テーブルの名前が大文字で「STATUS」となって出来上がります。

予約語ではないと思うのですが、
これを回避するために
CREATE TABLE `status`(省略);
とバッククォートをつけたら「status」という小文字のテーブルが出来ました。

意図したことは出来たのですが、
果たしてこれでOKなのか、ご教示いただきたく書き込みしました。

その他にopenとかも大文字になってしまいます。
reply: 1586 返信 編集 削除

[1586] ごめんなさい。補足です

user: ぽむぞう | created: 2004-05-10 17:19
上記の2つの形式でテーブルをクリエイトした後に、SQL文を投げてみました。

クリエイトの形式その1 → create table status( number int );
出来上がるテーブル→ STATUS(大文字)
↓SQL文の実行テスト↓
insert into status set number=5;→○
insert into STATUS set number=5;→○

クリエイトの形式その2 → create table `status`(number int);
出来上がるテーブル→ status(小文字)
SQL文の実行テスト
insert into status set number=5; →×Unknown column 'nunber' in 'field list'
insert into `STATUS` set number=5;→×Unknown column 'nunber' in 'field list'
insert into `status` set number=5;→○

となりました。

クリエイト形式2でやると、SQL文を投げる時に必ず「status」を「``」で囲ってあげないとエラーになってしまうので、
クリエイト形式1でSQL文を投げる時に「status」を「``」で囲ってあげなくても実行できるようにしたいのですが、
これだとどうしても大文字のテーブルができてしまします。

どうしてcreate table status( number int );とやると大文字表記のSTATUSテーブルができるのでしょうか。。

説明がわかりずらかったらすいません。
Parent: 1585  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 616 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑