質問

んテーブル(既存のテーブルデータで、そのテーブル内のカラムをユーザ名です。私は、このユーザー名ます。私は追加の制約のようになります:

ALTER TABLE Users 
ADD CONSTRAINT [IX_UniqueUserUserName] UNIQUE NONCLUSTERED ([UserName])

そう見ているとエラーが表示される重複したユーザーに存在する。だってデータベースに以下のクエリ:

SELECT COUNT(UserId) as NumberOfUsers, UserName 
FROM Users 
GROUP BY UserName, UserId 
ORDER BY UserName

この結果をリストにユーザーのすべてを1としてNumberOfUsers.うな重複あります。がんチェックしたユーザー名に失敗したった場合は、以下のような結果:

beluga
béluga

でapperentlyた失敗を比較し、"e"と"é"または"è"...このように彼を無視したら、本当にありがとうるsqlいを無視するこれらのアクセントを追加する場合には、ユニークキー contraint.

【解決

THXに皆さんがその場で発音を確認することがソリューションとなります。この問題を修正:

ALTER TABLE Users 
ALTER COLUMN UserName nvarchar(250) COLLATE SQL_Latin1_General_CP1_CI_AS
役に立ちましたか?

解決

の照合を使れを無視した場合、アクセントの場合との比較.ご変更が必要なの照合。

  • Latin1_General_CI_AI を無視した場合、アクセント
  • Latin1_General_CI_AS なアクセントを無視する

リストのSQLサーバー名照合 こちらの.

他のヒント

お問合せ団体によるユーザidもいする必要があります。

用途:

SELECT COUNT(*) as NumberOfUsers, UserName 
    FROM Users 
    GROUP BY UserName 
    ORDER BY UserName

お問合いいただけます。ユーザーが同じ名前と同じユーザのIDとなります。やもめのデータによる COUNT(*) では最後の行が表示されたが、トラブルメーカー?

きも問題を抱えてい照合してその他が示唆されているが、通常、グループのように自己整合するようにします。

おそらくユーザidはその有効なタイプを利用します。その一部はグループ化により、保証を得単列ります。の"ユーザ名"欄にごグループです。

としてのアンドリュー-バレットは、デフォルトの照合にMySQLいを認識しないアクセントに正しく

変更の照合の分野 UTF8_unicode_ci ではアクセントに。

ciとは大文字と小文字を区別しませんが、ご利用できるので、異なる照合が行なわれた場合は重要です。

を作成できる新しいテーブルとの照合、そのコピー*は、既存のテーブルに新しい。

また、も作成できますだけのテーブルにご関心をお持ちになられた方は該照合の代わりに、サーバーいたしました!できるように:

CREATE TABLE Users (c1 varchar (10), .., COLLATE Latin1_General_CI_AS NULL )
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top