問題タブ [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.
sql - 一意のインデックスを追加します。SQLite3
既存のテーブルに一意のフィールドインデックスを追加する必要があります。私はこの行を作りました:
テーブルとフィールドはすでに存在します。エラーは次のとおりです。
クエリエラー:「UNIQUE」の近く:構文エラーステートメントを実行できません
私は何が恋しいですか?SQLite3に特定の要件はありましたか?
javascript - オブジェクトのインスタンス化時に一意の ID を設定する (コンストラクターを使用)
Javascript コードに関して解決しなければならない問題があります。オブジェクトをインスタンス化するとき (この場合は新しいメンバーを追加するとき)、メンバーに一意の ID を取得させたいと考えています。以下は、私が望むものの写真を提供するための私のコードの簡略化されたバージョンです。これを行う最善の方法は何ですか?
mysql - テーブルの重複エントリを修正
運用サーバーのテーブル (約 35K レコードを保持) の INT(11) 列に、AUTO_INCREMENT を持つ 588 個の重複エントリが含まれていることがわかりました。その列には UNIQUE キーがないため、おそらくそれが原因です。
すべての重複エントリに一意の ID を付与し、列に UNIQUE キーを追加して、これが二度と起こらないようにする方法についてのアイデアはありますか?
テーブル スキーマ:
mysql - MySQL: Unique Constraint 複数列のパフォーマンスの最適化
複数の質問に対する一意の制約に関する質問がたくさんありますが、特に探しているものと一致するものはありません。これが1つの重複である場合は、お詫び申し上げます。
私はただのテーブルを持っています:tableA_id tableB_id
私の主キーは両方のテーブルの一意の制約であり、両方の列にインデックスがあります。両方とも、それらの重要なテーブルへの主キーでもあります。
tableA の行数が 10,000,000 行で、table B の行数が 2,000,000 行である可能性が高い場合、TableB がこの制約を受ける回数ははるかに少なくなる可能性が高くなります。それは悲しいことですが、TableB を最初の列として配置するように一意の制約を作成しているときに、TableA を検索することが少ないため (そうであればなぜ)、それとも最初に 1 つを検索しないので違いはありませんか?もう一方は、むしろ両方を見て 1 つずつ進みます。
前もって感謝します
android - Sqliteで列を一意のインデクサーとして設定する方法
3 つの列 (_id、column1、column2) があり、_id 列は自動インクリメントとして設定されています
データベースにはいくつかの重複レコードがあるため、column1 を一意のインデクサーとして設定して重複レコードを防止したいと考えています。sqlite で列を一意のインデクサーとして設定するにはどうすればよいですか? または、レコードの重複を防ぐにはどうすればよいですか?
mongodb - MongoDB の一意のインデックスが機能しない
一意のインデックス制約のために失敗する必要がある単純なコードの一部があります。ただし、一意のインデックスにもかかわらず、両方のオブジェクトがデータベースに追加され、クエリを実行できます。
両方のオブジェクトが保存され、異なる _id が取得されます。
更新。 わかった、どうした。両方のオブジェクトは、データベースに保存した後に独自の ID を取得しますが、実際には 2 番目のオブジェクトは保存されません (指定された ID であってもクエリできません)。
正しい答えを与えてくれたaraqnidのおかげです。残念ながら、投票するのに十分な評価がありません。
mysql - 2列のUNIQUEINDEXを持つテーブルにINSERTします
私は単純なtag_mapテーブルを持っています
UNIQUE INDEX
投稿に関連付けられたタグのペアが重複しないように追加しました。今、私が新しい腸を追加しようとすると
エラーが発生します
しかし、I SELECT
WHERE tag_map_id='16777215'の場合; これは別のタグと投稿に属しています。
どこが間違っていたのですか?
ruby-on-rails - Rails: 任意のインデックスで find メソッドを使用する方法
一意の識別子として文字列を持つモデルを作成しました。その文字列にインデックスを追加して一意に設定する移行を作成しました。たとえば、一意の識別子文字列をfindメソッドに渡すだけで、データベースエントリにアクセスするにはどうすればよいですか
現時点では、ActiveRecord::RecordNotFound 例外が発生するだけです...
ID=abc のオブジェクトが見つかりませんでした
...アクセスしようとするとObject.find('abc')
これは私に関係を返すので、このwhere
方法は代替手段ではありません。
postgresql - PostgreSQL はどのように UNIQUE 制約を適用しますか? どのタイプのインデックスを使用しますか?
実装の詳細であるインデックスの一意性に関するドキュメントを読んだ後、Postgres の一意とインデックスの関係を整理しようとしました。
テーブルに一意の制約を追加するための推奨される方法は、ALTER TABLE ... ADD CONSTRAINT です。一意の制約を強制するためのインデックスの使用は、直接アクセスしてはならない実装の詳細と見なすことができます。ただし、一意の列に手動でインデックスを作成する必要はないことに注意してください。これを行うと、自動作成されたインデックスが複製されるだけです。
したがって、ドキュメントを言葉どおりに解釈して、物事を一意であると宣言し、暗黙的なインデックスを使用します。または、インデックスを作成し、値が一意であるとは想定しません。これは間違いですか?
unique から取得するインデックスはどのようなものですか? btree のみが一意の制約を受け入れ、unique が暗黙的にインデックスを作成することを考えると、UNIQUE が btree インデックスを作成するのは本当ですか? うっかりハッシュ インデックスで範囲を実行したくありません。
mysql - 共通の FK を持つ 1 つのレコードのみが「プライマリ」フラグを持つことを許可/要求する
まず、これがだましである場合はお詫び申し上げます。
会社のテーブルがあるとします。
...そして連絡先の表:
1 つだけのレコードに各コモンのフラグが設定されている必要がcontacts
あるように、テーブルを設定することは可能ですか?is_primary
company_id
だから私がやろうとした場合:
Tom
... ( id = 1
) は の主要連絡先として既にフラグが設定されているため、クエリは失敗しますcompany_id = 1
。またはさらに良いことに、クエリが成功するようにトリガーを作成することは可能ですが、同じ操作Tom
でis_primary
フラグがクリアされますか?
company_id
テーブルに存在するかどうかをチェックすることはあまり気にしませんcompanies
。私の PHP コードは、この段階に到達する前に既にこのチェックを実行していたはずです (ただし、同じ操作でこれを行う方法があれば、それは素晴らしいことだと思います)。 .
最初にこれについて考えたとき、「それは簡単だろう。列company_id
とis_primary
列に一意のインデックスを追加するだけだ」と思ったが、明らかにそれはうまくいかない。 3 番目の連絡先を追加しようとすると失敗します。しかし、私が必要とする最小限の機能を提供する一意のインデックスを構成する方法があると感じずにはいられません。つまり、2 番目の主要な連絡先を追加しようとする試みを拒否したり、主要な連絡先のない会社を離れようとする試みを拒否したりします。
テーブルに FK を使用してテーブルにprimary_contact
フィールドを追加するだけでよいことはわかっていますが、面倒です。両方のテーブルが他のテーブルに FK を持つという考えは好きではありません - 両方のテーブルが互いに依存するのではなく、一方のテーブルが他方に依存するべきだと私には思えます。時間が経つにつれて、何かがうまくいかない可能性が高くなると思います。companies
contacts
総括する:
- 指定された 1 つのレコードだけ
company_id
にis_primary
フラグが設定されるように連絡先テーブルを制限するにはどうすればよいですか? - 互いに FK を持つ 2 つのテーブルが良い/悪い考えであるかどうかについて、誰か考えがありますか?