こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

phpPgAdminからSQL文を発行し、重複しない文字列を挿入したいのですが・・・

下記のような 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に投稿すると()半角括弧でかこまれた文字になってしまいます・・・

投稿日時 - 2009-11-05 22:50:24

QNo.5425032

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

8人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

  
--追記--

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

投稿日時 - 2009-12-27 05:35:53

ANo.2

   
これだとどうでしょうか?
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'; ませ(^^;
   

投稿日時 - 2009-12-27 05:23:58

ANo.1

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

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


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

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

投稿日時 - 2009-11-05 22:55:26

あなたにオススメの質問