問題タブ [unique-index]
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.
java - データベースの一意のキー、JPAリポジトリ、およびgetByUniqueKey署名:どのように機能しますか?
バックグラウンド
データテーブルitem
:
ItemRepository.java
:
CustomRepository.java
:
CustomRepositoryImpl.java
:
質問
ご覧のとおり、インターフェースの実装はありませんItemRepository
。つまり、getByName
メソッドには署名だけがあり、どこにも実装されることはありません。しかし、それは機能します。どのように?
PS
懐疑論者の場合、Eclipseを使用して、Ctrl押し続けてgetByName
署名の上にマウスを置くと、クリックしOpen Implementation
てもJAVAファイルはまったく開かれません。
mysql - MySQLエラー1072:状態キーは存在しませんが、存在します
これが初心者の質問である場合はお詫びしますが、しばらくの間この問題を解決できず、MySQLをよりよく理解している人が次の問題を解読するのに役立つことを願っています:
私は2つのテーブルを維持したいのでユーザーは自分の設定を定義できますが、管理者はそれらの設定へのアクセス権を維持できます。また、管理者が特定の権限を削除した場合に、設定テーブルが更新されることを確認したいと思います
。2つのテーブルは次のとおりです。
と
私がこれを実行すると、両方に一意のインデックスがあります。
そのため、上記のテーブルを持つuk_accessとuk_prefが作成されています。しかし、私が実行すると:
「エラー1072(42000):キー列'uk_pref'がテーブルに存在しません」というエラーが表示されます。これは、私には、取得する意味がありません。テーブルを作成した後に次のコマンドも実行したので、キーが存在することはわかっています。
重複キーの警告が表示されました。他のテーブルでも同じことをしました。
また、両方のテーブルで一意のインデックス名を同じにしてみました。つまり、私はそれらを両方とも作成しましたが、uk_pref
無駄になりました。同じエラー。
これは私が見逃している本当に単純な問題のように感じますが、それを見ることができませんでした。私が犯している間違いを別の目で指摘してくれることを願っています。どんな助けでも大歓迎です!
私は同様の問題を探しましたが、同じ問題に対処するものはここには見つかりませんでした。
編集:AJはこれを指摘しました、そして私がそれを試したことを言及するのを忘れました:
私も(最初に)一意のキーの設定をバイパスしようとし、次のことをしました:
そして、MySQLは構文エラーを返しました。
mysql - MySQLUNIQUE制約の複数列の条件
id
さて、私は4つの列( 、、、 )event_id
を持つテーブルを持っています。ここでgroup_id
、isbn
idはPKでevent_id
ありgroup_id
、FKであり、私の問題は次のとおりです。
isbn番号はそれぞれに固有でevent_id
ある必要があります。可能であるはずの行と、そうでない行の例をいくつか示します。
はgroup_id
それぞれに1回だけ表示されますevent_id
が、3つの列で一意の制約を作成すると、を変更するだけでisbnを繰り返すことができます。これは、使用された後は別の列に表示されevent_id
ません。 (「1」としましょう)は、それぞれに必要な限り同じように繰り返すことができますisbn
event_id
event_id
event_id
ibsn
group_id
問題を何度か繰り返したのは知っていますが、難しい質問なので、間違った答えが返ってくる可能性を低くしたいと思います。
編集1:@Andomarの回答について、isbnはカーディナリティ(1、n)1-isbn-> n-group_idによってgroup_idに関連付けられている必要があり、回答の構造はそれを行いません
mongodb - MongoDB-一意のマルチキーインデックスが期待どおりに機能しない
MongoDBのマルチキーインデックスに問題があります。
、という名前のコレクションがusers
あり、そのドキュメントは多かれ少なかれ次のようになります。
にインデックスを作成し、votedObjectId
ユーザーが記事ごとに1回だけ投票するようにします。
一意のインデックスを確保しました(コードはnode.jsにあります-mongoskinモジュール):
次に、同じ記事に2回投票してみましたが、実際にはまったく同じ投票が2回追加されました。
配列に重複する要素が含まれないようにするにはどうすればよいですか?
PS
{safe:true}を使用してすべての挿入を実行します。取得した重複値は、挿入操作では返されませんが、実際にはコレクションに挿入されます。
mysql - 一時テーブルなしでMySQLテーブル内のすべての重複レコードを削除するにはどうすればよいですか?
私はこれについて多くのバリエーションを見てきましたが、私が達成しようとしていることと完全に一致するものはありません。
TableA
構成可能な質問票に対するユーザーからの回答を含む表があります。列はmember_id, quiz_num, question_num, answer_num
です。
どういうわけか、数人のメンバーが回答を2回提出しました。したがって、重複したレコードを削除する必要がありますが、1行が残されていることを確認してください。
プライマリ列がないため、まったく同じデータを持つ2つまたは3つの行が存在する可能性があります。
すべての重複を削除するクエリはありますか?
php - フィールドに mysql と PHP のプロパティ `UNIQUE` があるかどうかを確認します
テーブルのフィールドがUNIQUEとして設定されているかどうかを確認するにはどうすればよいですか?
たとえば、フィールドが として設定され、フィールドが として設定されていないという名前のテーブルがありますusers
。email
選択UNIQUE
するpicture
前UNIQUE
に、フィールドが設定されているかどうかを確認UNIQUE
してから、SELECT
.
次に、返された行数をカウントしようとしましたSELECT
が、1 を超える場合はそうではありませんUNIQUE
。
しかし、それは効率的ではありません。重複がない場合はどうなりますか。
UNIQUE
フィールドが次のように設定されているかどうかを確認する最良の方法は何PHP
ですか?
UNIQUE
編集:重複がないからといって、プロパティがあるわけではありません
db2 - 本物のユニークインデックスは立ち上がってくださいますか?
最近、一意の 3 つの異なるインデックスを持つ DB2 テーブルに遭遇しました。
最も具体的なものは実際の一意のインデックスですか? それとも、DB2 がテーブルへのアクセスに使用するインデックスによって一意性の定義が異なるのでしょうか?
インデックス 1 は、A、B、C の値が一意である限り、D と E の値が重複する可能性があることを示唆しているため、少し混乱しています。 、E は一意なので、結局、D と E の値が重複することはありませんか?
sql - PostgreSQLの一意のインデックス複合キー
4つの列に基づいてテーブルに制限を作成する必要があり、そのうちの2つは相互に排他的です。つまり、一方がNULLの場合、もう一方はそうではありません。
理想的なスクリプトは次のとおりです。
しかし、Postgresはこの種の連結を許可していません。
この制限をどのように実装できますか?
doctrine-orm - Doctrine2を使用するUniqueEntity
Zend Framework 2を使用していて、ユーザーエンティティを作成しました。現在、ユーザー名フィールドを一意にしようとしています。ただし、次のエラーが発生しています。
一意性チェックのためにこのコードを追加しました
symfonyで使われている方法であることがわかります。Zend Framework 2でどのように使用できますか?
これは私が使用しているエンティティです
mysql - 検証と一意の ID の作成
わかりました - 私のプロジェクトでは、いくつかのデータを変換しなければならないプロセスのためのいくつかの検証テクニックを特定するよう求められました。背景を教えてください。
クライアントからデータを受け取ります - ファイルをロードし、処理に必要なフィールドのみを取り込みます。この段階でいくつかのチェックが行われます。ここから、基本的にすべての面倒な作業を行うスクリプトをデータに対して実行します。(重複の削除、日付の確認など)。次に、ブラックボックス システムを介して実行され、結果が出力されます。
特定のグループのカウントが大幅にずれているとクライアントから通知を受けました。これには約400万ドル。
pol_ID、Suf_ID、および関連するグループ名を生成することにより、一意のメンバーを識別するプロセスがあり、それらはシステム内および処理システム内で一意と見なされます。
これらの一意のメンバーのレコードを処理するプロセスが必要です。一意のメンバーは、特定の期間内に自分の名前に関連付けられた 1 つから複数のクレームを持つことができます。
クレーム情報を受け取ると、通常は payor_field + claimno + 生成されたシーケンス番号を使用して処理されます (このシーケンス番号は、claimno の最後の 2 桁である場合もあります)...
元。3 つのクレームがシステムに入り、負荷を処理した後、クライアントがクレーム番号を繰り返していることがわかります。最後の 2 桁を使用しているため、それらは一意ではなくなり、3 つのレコードのうちの 2 つが削除されます。最初のものだけを保持します。
私の問題が発生します。通常、最後の2桁を解析すると一意であるというクレーム番号を想定しているためです。このケースのテストでは、これを一意と見なすために別の列に明示的な増分シーケンス番号を作成しようとしました。これにより、結果が 2 倍になります。
今、私の質問は次のとおりです。
これらの主張を独自のものにする別の方法はありますか? 自動インクリメントはオプションではありません。クライアントが重複したクレーム番号を送信できることを考慮してください。これが問題の原因であり、クレーム番号をリサイクルできる可能性があります。
月ベースなので、最後に何らかの月IDがあるかもしれません..?
シーケンス番号のバイナリ表現は機能しますか? これは INT データ型です.. (また、24 か月前にさかのぼる履歴データを処理し、毎月次の連続する月のデータを取得し、セットの最初の月を削除することに注意してください)
私たちはこの主張を変えるために私たちが何をするかに制限されていないので、私は提案にオープンです...それを短くしようとしましたが、さらに情報を追加する必要がある場合はお知らせください:) ありがとう.