問題タブ [unique-key]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
277 参照

sql-server - このテーブルには 1 つまたは 2 つの一意のキー インデックスが必要ですか?

StackOverflow とまったく同じように、OpenId 登録のみを持つ Users テーブルを作成しようとしています。

テーブルに収納しています

  • OpenId 識別子 (ログイン名)
  • エイリアス (一般に表示される表示名)
  • その他の openId に関するもの

だから...私は、openId識別子とエイリアスを1つだけ持つシステム内のユーザーが1人だけであることを確認したいと思います。

もちろん、エイリアスはいつでも変更できます。また、いつでも openId 識別子を変更できました。これらが一意であること、または一度しか存在しないことを確認する必要があります。

SO... テーブルに 2 つの一意のキー インデックスを作成するか、または両方のフィールドを含む 1 つの一意のキー インデックスを作成しますか?

乾杯 :)

0 投票する
3 に答える
22206 参照

sql-server - SQL Serverの一意のキーもインデックスですか?

テーブルに列(UserNameなど)があり、一意であることを確認したい。そのため、その列に一意のキーを作成し、それをIX_Users_UserNameと呼びます。

ここで、ユーザー名に基づいてユーザーを頻繁に検索する場合は、そのフィールドのインデックスがあることを確認したいと思います。

別のインデックスを作成する必要がありますか、それとも主キーがクラスター化された一意のキーであるのと同じように、一意のキーもインデックスと見なされますか?

0 投票する
5 に答える
6484 参照

mysql - MySQL の質問 - 一意のキーが正しく機能していませんか、それとも誤解していますか?

4 つの異なるパーツのいずれかを含めることができる関係を作成しようとしていますが、同じパーツのコレクションは一意として処理する必要があります。

例: 割り当てには、割り当てられた会社が必要です。オプションで、割り当てられた場所、ワークグループ、およびプログラムが含まれる場合があります。割り当てには、場所のないワークグループを含めることはできません。

A、B、C という会社があるとします。位置 X、Y、Z; ワークグループ I、J、K およびプログラム 1、2、3。

したがって、有効な関係には、A - X - I - 1 A - Z - 2 B - Y C C - 3 B - Z - K が含まれます。

ただし、無効な関係には、A - K (場所のないワークグループ) Y - K - 1 (会社なし) が含まれます。

だから、私のテーブルを作成するために、私は作成しました

これは、ワークグループがある場合に場所を割り当てる割り当ての必要性以外のすべての関係を処理すると思います (これは、プログラムまたはトリガーを使用して喜んで実行できると思います)。

ただし、このスキーマをテストすると、次のように入力できます...

...文句なし。nullが含まれているため、(1、null、null、null)はそれ自体と等しくないと推測しています。この場合、この関係を処理する方法はありますか?

どんな助けでも大歓迎です!

0 投票する
5 に答える
2519 参照

postgresql - Postgresqlで列がnullでない場合にのみ、制約を適用するにはどうすればよいですか?

列がnullでない場合にのみ制約を適用するソリューションが必要です。ドキュメントでこれを行う方法を見つけることができないようです。

データの性質上、テーブルの作成時に識別子bと値を取得します。追加のデータを受け取った後、識別子aを入力できるようになります。unique key of (identifier_a, value1)この時点で、identifier_aが存在する場合にのみ確認したいと思います。

うまくいけば、それは理にかなっています、誰かが何かアイデアを持っていますか?

0 投票する
5 に答える
2560 参照

sql - 表列の一意制約

テーブル (データが含まれる既存のテーブル) があり、そのテーブルには列 UserName があります。この UserName は一意にする必要があります。したがって、次のような制約を追加します。

今、重複したユーザーがこのテーブルに存在するというエラーが発生し続けます。しかし、次のクエリを使用してデータベースをチェックしました。

これにより、NumberOfUsers として 1 を持つすべてのユーザーのリストが作成されます。したがって、重複はありません。しかし、ユーザー名を確認すると、彼は失敗し、次の結果が表示されます。

どうやら彼は「e」と「é」または「è」の比較に失敗しています...彼はこれらを無視しているようです.SQLが一意のキー制約を追加するときにこれらのアクセントを無視しない方法はありますか.

解決:

THX 皆さん、私は解決策を見つけました。これで問題が解決しました:

0 投票する
3 に答える
202 参照

sql-server - SQL Server 2005 で一意のキーを変更した場合の影響

SQL Server 2005 で一意のキーを変更するとどのような影響がありますか

私は、4 つのフィールドに対して 1 つの主キー ID int と複合一意キーをテーブルに持っています。しかし、私のプロジェクトの性質上、複合キーのキー (フィールド) の 1 つが変化し続けています。

複合キーのフィールドを頻繁に変更することに問題がある人はいますか?

0 投票する
1 に答える
404 参照

nhibernate - 一意のインデックスでのNHibernateキャッシング?

そのオブジェクトに固有のプロパティを持つクラスがいくつかあります。たとえば、Userクラスの場合、プロパティUsernameを複製しないでください。

NHibernateは、Load()またはGet()と同じ方法でキャッシュされる一意のキーによるオブジェクトのロードをサポートしていないようです。私がそれを言うとき、私は正しいですか?

私がそうであれば、LoadByUniqueIndex(ラムダプロパティ、オブジェクトキー)の行に沿って、おそらく拡張メソッドを介して自分自身をロールする必要があります。

0 投票する
3 に答える
4698 参照

sql - SQLで16進数を作成する

SQL で一意の 16 進数を生成したい。これどうやってするの?

C# で生成する方法を知っている場合は、それも含めてください。

0 投票する
2 に答える
2293 参照

asp.net-mvc - asp.net mvc と linq to sql で一意のキーを検証しますか?

ID(主キー)と名前(一意のキー)の2つのフィールドを持つSQLサーバーテーブルがあります。このテーブルから asp.net MVC のモデル オブジェクトを生成するために、linq to sql を使用しています。

モデルの検証を実行するために、部分クラスに IDateErrorInfo を実装しました

これは、Model.IsValid プロパティと Html.ValidationSummary ヘルパーで期待どおりに機能します。

ただし、このコードは、新しく作成された会社の名前が空白でないことを確認しているだけです。名前がテーブル内の別の会社によって使用されているかどうかも確認する必要があります。

リポジトリで AddCompany メソッドを呼び出して SQLException をキャッチすることもできますが、これは汚いと感じます。

Company を追加する前に、部分クラスの OnNameChanging メソッドで一意のキー チェックを実行するのが理想的です。

これをどのように行うべきかについてのアイデアはありますか?これまでに考えたことは、部分クラスで新しいデータベース接続を作成し、テーブルにクエリを実行することだけです。

ありがとう

0 投票する
4 に答える
699 参照

php - レコードがまだ存在しない場合にのみMySQLテーブルに追加するにはどうすればよいですか?

JSONオブジェクトから文字列の配列を取得しています。これらの文字列をDBに保存したいのですが、まだそこにない場合に限ります。DBにすでにあるものと、これから入力しようとしているものを比較し、一致を除外するための最良の方法は何ですか?

PHPとMySQLを使用しています。