![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんにちは。いつもお世話になっております。
テーブル名を作成する時に、-(ハイフン)を
使うと、不具合があるから使わないほうが良いと
何かで読みかじったのですが、どのような
不具合が予想されるのでしょうか?
また、文字列していカラム(VARCHARなど)でも
ー(ハイフン)や+(プラス)など、
使わない方がよかったりいたしますか?
MySQLの基礎本などを読み漁ってみたのですが、
ある書物ではテーブル名を普通に日本語文字に
していたり、また違う基礎本では、日本語は
使うべきでは無いと紹介されていて、初心者には
何を信じて覚えるべきなのか、混乱してしまって・・・。
どうかご指導よろしくお願いいたします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_04.png?5a7ff87)
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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
sqlに記述できない文字
PostgreSQL
-
項目名の制限について
SQL Server
-
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
-
4
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
5
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
6
UNIONする際、片方テーブルしかないカラムも利用
MySQL
-
7
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【MYSQL】asでリネームしてwher...
-
sum()の出力結果順に並び替えを...
-
SQL文で右から1文字だけ削除す...
-
SQLの集計で「全て」の合計も表...
-
使うべきでない文字。
-
チェックボックスの項目をDBにi...
-
MySQL のデータからドロップダ...
-
【初歩】ラジオボタンをつかっ...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
Accessで別テーブルの値をフォ...
-
SELECTで1件のみ取得するには?
-
アクセスでレポートの1印刷内...
-
select insertで複数テーブルか...
-
Excelで、改行がある場合の条件...
-
レコードが存在しなかった場合
-
SELECTの結果で同一行を複数回...
-
GROUP BYを使ったSELECT文の総...
-
DataGridViewの内容をDBに反映...
-
ファイル書込みで一行もしくは...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL文で右から1文字だけ削除す...
-
【MYSQL】asでリネームしてwher...
-
使うべきでない文字。
-
割合(パーセント)を求めるに...
-
チェックボックスの項目をDBにi...
-
カウント結果を1レコードの中...
-
SQLの集計で「全て」の合計も表...
-
月別、販売員別の集計がわかり...
-
sum()の出力結果順に並び替えを...
-
MySQLで MAX()とGROUP BYを使う...
-
【初歩】ラジオボタンをつかっ...
-
何にかが違うから エラーなんで...
-
複数の表の条件でのDELETE文
-
replaceした上でwhere
-
LIKE述語/SQLとPHPを使った検...
-
今週の日曜日から土曜日までの...
-
重複が
-
MySQLにて特定レコードのみを抽...
-
MySQLで2つのテーブルのデータ...
-
phpmyadminはトリガーやIF文を...
おすすめ情報