問題タブ [unique-constraint]

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 投票する
3 に答える
14280 参照

mysql - Ruby onRailsでMySQLからの重複レコードエラーを処理するにはどうすればよいですか?

データベースの複数のフィールドに一意のインデックスがあります。したがって、重複するレコードに対してsaveを呼び出そうとすると、ActiveRecord :: StatementInvalidが発生し、mysqlエラーが表示されます。一意の制約を作成するか、これが発生したときに関連するエラーメッセージを返すようにすることで、レール内でこれを処理する方法はありますか?

ここにトレースがあります:

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

mysql - Ruby on Rails 3でMySQLテーブルの列に「一意の」制約を定義する方法は?

1 つの列を持つ単純な MySQL テーブルがあります: name.

この列に一意の制約を定義したいと思います。

できます:

ただし、データベース レベルではなく、アプリケーション レベルでのみ機能します。

あなたは何を提案しますか?

0 投票する
19 に答える
66224 参照

entity-framework - Entity Framework Code First の一意の制約

質問

流暢な構文または属性を使用して、プロパティに一意の制約を定義することは可能ですか? そうでない場合、回避策は何ですか?

主キーを持つユーザー クラスがありますが、電子メール アドレスも一意であることを確認したいと考えています。データベースを直接編集せずにこれは可能ですか?

解決策(マットの回答に基づく)

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

c# - ADO.NETDataSet-異なるテーブルの列にUniqueConstraintがあります

Visual Studio2008の.NET3.5のC#でプログラムを作成しています。2つのDataTable、AとBを持つDataSetがあります。テーブルAにはDataColumn Y、テーブルBには列Z、さらに両方のテーブルにさらに列があります。列YとZの両方が、一意の自動インクリメント列に設定されています。

YとZも2つの間でユニークにしたいと思います。のように、テーブルAのY列に3が含まれる行が既にあり、テーブルBに新しい行を作成していて、その新しい行のZ列に3を配置したい場合は、代わりに3をスキップします。そして4を入れます。

私はそれがうまくいくように見える何かを試しました:

しかし、アプリケーションを実行してそのコードに到達すると、最初の行に次のエラーが表示されます。

System.Data.InvalidConstraintExceptionは未処理でした
Message="異なるテーブルに属する列からキーを作成できません。"
Source = "System.Data"

両方のテーブルに同じUniqueConstraintを追加する理由は、それをアクティブにするために他にどこに配置するかがよくわからないためです。Y列とZ列を除いて、テーブルは互いにほとんど関係がないため、テーブルを1つにまとめたくありません。

誰かがこれを行う方法を知っていますか?MSDNのドキュメントには複数のテーブルについては記載されておらず、他の誰もこれを試したことがないようです。


私は問題を終えました。私のプログラムでは、処理しているテーブルを追跡するために、すでにいくつかの外部キーチェックを使用していました。これからは別の方法で進めるほうが簡単かもしれないと思っていましたが、現在の手法を維持することにしました(プログラムの他のコンポーネントに詳細なID情報を入れるなど、必要に応じて少し拡張します)。うまくいくことがわかった。

私がやったことは、私がここに投稿した私の質問を本当に解決しません。ここで回答を得ることを望んでいるGoogle社員に謝罪します。

0 投票する
7 に答える
55757 参照

python - Django Unique Together (外部キーあり)

unique_together特定のルールを適用するために のメタ オプションを使用したい状況があります。これが中間モデルです。

ここにユーザープロファイルがあります:

ありがとう。

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

hibernate - 例外: データベースの状態をセッションと同期できませんでした

spring および hibernate 3.0 で開発され、apache tomcat 6 にデプロイされた Web アプリケーションがあります。

このエラーは、本番環境でのみ再現可能です。同じDBを指すローカル環境で同じコードが動作しています。ロガーステートメントを追加しようとしたところ、シーケンスジェネレーターが毎回同じ値、つまり「0」を生成していることがわかりました。あなたの助けを待っています。

-- Sun2


返信ありがとうございます。はい、例外は明らかに制約に違反していると言っています。CARS.XAK1CAR_ATTRIBUTE は結合キーであり、一意である必要があります。すべてのデータを (ロガーによって) 検証しましたが、この制約に違反する可能性のあるデータは見つかりませんでした。さらに、この制約に違反している場合、同じ DB を指すローカル環境では機能しません。これはサーバー固有のものですか?問題の解決に役立つ場合は、挿入しようとしているテーブル DDL やデータなどの詳細を提供できます。――サントッシュ

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

postgresql - INDEX と UNIQUE INDEX の両方を指定する必要がありますか?

私の PostgreSQL テーブルの 1 つに、テーブル内で一意であると定義される 2 つのフィールドのセットがありますが、データを選択するときに両方とも一緒に使用されます。この場合、UNIQUE INDEX を定義するだけでよいですか、それとも UNIQUE INDEX に加えて INDEX を指定する必要がありますか?

これ?

それともこれ?

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

java - Hibernate JPA2 で一意の制約を使用する

休止状態の POJO に独自の制約を実装するにはどうすればよいですか? データベースには何も含まれていないと仮定します。

注釈で一意の属性を見た@Column()ことがありますが、機能させることができませんでしたか?
この制約を複数の列に適用したい場合はどうすればよいですか?

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

postgresql - postgre で一意の違反に対して削除または更新を実行する

Unique_violation 例外で、例外を発生させた行を更新または削除する方法

テーブルコードと挿入

関数

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

mysql - 複数のフィールドによる MySQL の一意のインデックス

DB には特別な種類のテーブルがあり、その変更の履歴をそれ自体に保存します。いわゆる「セルフアーカイブ」テーブル:

加入者の「カバレッジ」を保存します。フィールド「現在」は、これが現在/元のレコード (「C」) であるか履歴レコード (「H」) であるかを示します。

特定の加入者に対して現在の「C」カバレッジを 1 つだけ持つことができますが、2 つのフィールド (*subscriber_id と current*) を持つ一意のインデックスを作成することはできません。 " レコード - 変更履歴。

したがって、インデックスは現在の == 'C'および任意のsubscriber_idに対してのみ一意である必要があります。

これは、「マテリアライズド ビュー」のようなものを使用して Oracle DB で実行できます。この場合、current = 'C' のレコードのみを含むマテリアライズド ビューを作成し、*subscriber_id、current* の 2 つのフィールドで一意のインデックスを作成できます。

問題は、MySQL でこれを行うにはどうすればよいかということです。