
こんにちは。いつもお世話になっております。
テーブル名を作成する時に、-(ハイフン)を
使うと、不具合があるから使わないほうが良いと
何かで読みかじったのですが、どのような
不具合が予想されるのでしょうか?
また、文字列していカラム(VARCHARなど)でも
ー(ハイフン)や+(プラス)など、
使わない方がよかったりいたしますか?
MySQLの基礎本などを読み漁ってみたのですが、
ある書物ではテーブル名を普通に日本語文字に
していたり、また違う基礎本では、日本語は
使うべきでは無いと紹介されていて、初心者には
何を信じて覚えるべきなのか、混乱してしまって・・・。
どうかご指導よろしくお願いいたします。

No.2ベストアンサー
- 回答日時:
''で囲えば文字列として扱われるので
+などの記号は平気です。
ただし、文字列に「'」や「\」が含まれると
困ったことになります。
「鈴木's SHOP」という文字列をそのまま登録すると
INSERT INTO TABLE (NAME) VALUES('鈴木's SHOP');
となり'鈴木'までしか囲ったことにならず
エラーになってしまうことがわかると思います。
「'」や「\」を登録するときは
「'」 → 「''」または「\'」
「\」 → 「\\」
とする必要があります。
例.
'鈴木's SHOP'→'鈴木''s SHOP'
または
'鈴木's SHOP'→'鈴木\'s SHOP'
sakuhatさま
ご指導ありがとうございます。
とても判りやすく説明して頂けたので
ストンと頭に入りました。
ありがとうございました。
No.1
- 回答日時:
もちろん日本語で指定することも可能ですが、
あとあと痛い目見たくないなら英数で指定したほうがいいと思いますよ
-(ハイフン)を使わないほうが良いというのは
SELECT * FROM `customer` WHERE `family-name` = '鈴木'
と
SELECT * FROM `customer` WHERE family-name = '鈴木'
では全く意味が違います
つまり後者の場合は-(ハイフン)は-(マイナス)の意味になってしまうからです
ちなみに私はこのような場合_(アンダーバー)を使っています
SELECT * FROM `customer` WHERE `family_name` = '鈴木'
と
SELECT * FROM `customer` WHERE family_name = '鈴木'
は同じ意味になります
inu2さま
ご指導ありがとうございます。
マイナスの意味になってしまうのは
かなり怖いですよね_| ̄|○
素人考えながら、アンダーバーを使うように
していたよかったです。
・・・全部指定しなおしだったら恐ろしく
脱力な事になるところでした。
あと、'鈴木'と保存する所へ'鈴木+田中'のように
途中に記号がはいったりするのは、タブー
なのでしょうか・・・?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLで MAX()とGROUP BYを使う...
-
Oracleでの文字列連結サイズの上限
-
実績累計の求め方と意味を教え...
-
GROUP BYを行った後に結合した...
-
SELECTで1件のみ取得するには?
-
select句副問い合わせ 値の個...
-
OracleのSQL*PLUSで、デー...
-
集計後の数値が倍になる
-
エラー2「無効な識別子です」
-
ADO VBA 実行時エラー3021
-
ヘッダレコードとトレーラレコ...
-
Oracle8iでSQL文の引数について
-
Excelでセルの書式設定を使用し...
-
ワードの差込印刷で教えて下さ...
-
データセットのレコード更新が...
-
レコードが存在しなかった場合
-
エラー「無効な識別子です」
-
SQLPLUSにて演算子を使う方法と...
-
select insertで複数テーブルか...
-
CREATE テーブルでの複数外部...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【MYSQL】asでリネームしてwher...
-
MySQLで MAX()とGROUP BYを使う...
-
初心者Mysqlの関数のsubstring...
-
使うべきでない文字。
-
SQL文で右から1文字だけ削除す...
-
何にかが違うから エラーなんで...
-
MySQL のデータからドロップダ...
-
割合(パーセント)を求めるに...
-
phpmyadminはトリガーやIF文を...
-
sum()の出力結果順に並び替えを...
-
チェックボックスの項目をDBにi...
-
【初歩】ラジオボタンをつかっ...
-
PHP+MySQL
-
SQLの集計で「全て」の合計も表...
-
カウント結果を1レコードの中...
-
姓名の前後を入れ替えるSQL命令...
-
名寄せして件数を取得する事は...
-
月別、販売員別の集計がわかり...
-
表示幅を短くしたい
-
LIKE述語/SQLとPHPを使った検...
おすすめ情報