dポイントプレゼントキャンペーン実施中!

下記のような nickname テーブルがあります。

nickname
| id | name |
| 1 |あいうえお |
| 2 |hogehoge |

カラム「name」はユニークな値として設定してあります。
そこで、phpPgAdminを使用し下記のようなSQLを発行するとニックネームが重複しているとエラーが発生してしまいます。

INSERT INTO nickname VALUES (3,'(2)');
INSERT INTO nickname VALUES (3,'(8)');

「(2)」と「(8)」が同じ文字と判断されているようなのですが、なぜなのか教えて欲しいです。
また、これを回避する方法はあるのでしょうか?

他にも「@@@」と「.BW」も同じ文字として認識されてしまうようです。

SQLのバージョンはPostgreSQL 7.4.7を使用しております。

--追記--
上記で説明している「(2)」と「(8)」ですが、○に囲まれた数字文字です。
なぜか、gooに投稿すると()半角括弧でかこまれた文字になってしまいます・・・

A 回答 (3件)

  


--追記--

これだとどうでしょうか?
INSERT INTO nickname VALUES (3,'?'); ?は丸数字の2
INSERT INTO nickname VALUES (4,'?'); ?は丸数字の8
ってことで(^^ゞ
  
    • good
    • 0

   


これだとどうでしょうか?
INSERT INTO nickname VALUES (3,'?');
INSERT INTO nickname VALUES (4,'?');

もしくわ
INSERT INTO nickname VALUES (5,'@@@');
INSERT INTO nickname VALUES (555555,'.BW');

はたまた
INSERT INTO nickname VALUES (39,'サンキュー');
INSERT INTO nickname VALUES (111,'大変失礼で');
INSERT INTO nickname VALUES (222,'すがひょっと');
INSERT INTO nickname VALUES (333,'してidにkey');
INSERT INTO nickname VALUES (444,'設定されて');
INSERT INTO nickname VALUES (555,'いませんで');
INSERT INTO nickname VALUES (666,'しょうかご');
INSERT INTO nickname VALUES (777,'確認ください');
INSERT INTO nickname VALUES (888,'パチパチパッチンそろばん算');
INSERT INTO nickname VALUES (1091,'入れ食い');
INSERT INTO nickname VALUES (2525,'ニコニコ');
INSERT INTO nickname VALUES (3902,'炸裂');
INSERT INTO nickname VALUES (4649,'よろしく');
INSERT INTO nickname VALUES (5213,'ごっついさ');
INSERT INTO nickname VALUES (6080,'老齢バレー');
INSERT INTO nickname VALUES (7833,'ナンパ散々');
INSERT INTO nickname VALUES (8064,'晴れろよ');
INSERT INTO nickname VALUES (9181,'クイーン杯');
INSERT INTO nickname VALUES (22360679,'富士山麓鸚鵡鳴く');
INSERT INTO nickname VALUES (299792458,'肉球鳴く西交番');

とか...

クエリーは、成功しました: 1行の影響があり,実行時間は、 20 ミリ秒でした。
   
SELECT name FROM nickname WHERE id BETWEEN '101' AND '800'; ませ(^^;
   
    • good
    • 0

DBの文字コードは?


入力している文字コードは?

○に1などは、機種依存文字です。
いわゆる sjis-winな文字


この質問サイトでは、機種依存文字は別な共通な文字コードに変換されます。

○に数字のほかにも
ローマ数字や
トンやミリメートル
など1文字で表すような文字も変換されます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!