
こんにちは。いつもお世話になっております。
テーブル名を作成する時に、-(ハイフン)を
使うと、不具合があるから使わないほうが良いと
何かで読みかじったのですが、どのような
不具合が予想されるのでしょうか?
また、文字列していカラム(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で質問しましょう!
似たような質問が見つかりました
- 日本語 海外の方に日本語を教えるときのポイントはありますか? 3 2022/08/28 08:47
- 大学受験 大学受験の参考書について 高3の私文志望(今のところ中堅私立大)です。 基礎固めをしたいです。 持っ 3 2023/08/17 13:47
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- 日本語 ある言語を外国語として学習した場合、 1 2022/05/22 14:48
- 大学受験 回答お願い致します! 大学受験、古典の参考書ルートです! 古典の参考書ルートについて質問です。 ①読 1 2023/08/13 20:17
- 中国語 中国は北京語と広東語があって、日本の方言とは違って全然伝わらないと聞いたのですが、発音が違うってこと 5 2022/05/02 10:46
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- その他(社会・学校・職場) 平均的日本人の頭は悪くはないはずですし、学校で習う内容が幼稚というわけでもないのに、世間には幼稚な大 7 2023/04/05 20:51
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- 日本語 中国語と日本語とでは、どちらが先に漢字を廃止するでしょうか? 2 2023/01/29 13:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
使うべきでない文字。
-
Oracleの監視。
-
sum()の出力結果順に並び替えを...
-
【初歩】ラジオボタンをつかっ...
-
割合(パーセント)を求めるに...
-
SQLの集計で「全て」の合計も表...
-
MySQL 副問い合わせ(IN)での...
-
重複をせずに2つのフィールドを...
-
JOINでの結果取得 サブクエリ...
-
【MYSQL】asでリネームしてwher...
-
重複が
-
月別、販売員別の集計がわかり...
-
抽出時のことで質問です
-
replaceを使って更に重複レコー...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
iserease のDB2 UDBに対してODB...
-
Accessで別テーブルの値をフォ...
-
access2003で学籍番号から生徒...
-
OracleのSQL*PLUSで、デー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
使うべきでない文字。
-
SQL文で右から1文字だけ削除す...
-
MySQLで MAX()とGROUP BYを使う...
-
sum()の出力結果順に並び替えを...
-
割合(パーセント)を求めるに...
-
【MYSQL】asでリネームしてwher...
-
SQLの集計で「全て」の合計も表...
-
カウント結果を1レコードの中...
-
表示幅を短くしたい
-
【初歩】ラジオボタンをつかっ...
-
何にかが違うから エラーなんで...
-
phpmyadminはトリガーやIF文を...
-
姓名の前後を入れ替えるSQL命令...
-
1つのテーブルから複数のテーブ...
-
月別、販売員別の集計がわかり...
-
mySQLでグループ別の順位を入力
-
MySQL関数max()を条件にSELECT...
-
MySQLにて特定レコードのみを抽...
-
SQLサーバーは[main]![No]とい...
-
チェックボックスの項目をDBにi...
おすすめ情報