問題タブ [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.
mysql - null になる可能性のある列に対して mysql で一意性制約を設定するにはどうすればよいですか?
MySQL では、UNIQUE 制約が NULL 値を同等に扱わないことを知っています。したがって、ColumnX に一意の制約がある場合、2 つの別々の行が ColumnX に対して NULL の値を持つことができ、これは制約に違反しません。どうすればこれを回避できますか? 私の場合、ColumnX は実際には別のテーブルへの外部キーであるため、フラグを立てることができる任意の定数に値を設定することはできません。ここでのオプションは何ですか?
このテーブルには、主キーである「id」列もあることに注意してください。Ruby on Rails を使用しているため、この id 列を主キーとして保持することが重要です。
注 2: 実際には、私の一意のキーには多くの列が含まれており、そのうちのいくつかは null でなければなりません。それらは外部キーであり、そのうちの 1 つだけが非 null であるべきだからです。私が実際にやろうとしているのは、データベースで参照整合性を維持する方法でポリモーフィックな関係を「シミュレート」することですが、ここで尋ねられた質問に対する受け入れられたソリューションの最初のオプションで概説されている手法を使用します:ポリモーフィックな関連付けの外部キー?
java - Db4oEmbedded EmbeddedConfiguration の一意キー制約の設定
Db4oEmbedded EmbeddedConfiguration に一意のキー制約を設定したいと考えています。
ここに私のコードがあります:
最後の行は例外をスローします。どうしてか分かりません。Android SDK 1.5 と db4o 7.12 for Java を実行しています。ご教授ください。ありがとう!
sql-server-2005 - SQLの一意の制約(SQL Server)
データベースにUNIQUE制約が必要なのはなぜですか?
例を挙げていただけますか?
主キーはデフォルトでUNIQUEです...他のテーブルでは外部キーと呼ばれているので理解できます...rdbmsプラットフォームに接続するには関係が必要です...
しかし、なぜ他の列をUNIQUEと呼ぶのでしょうか、そうすることの利点は何ですか?)
sql-server - CTEを使用したジャンクションテーブルの値の統合と重複の削除
私は次のスキーマを持っています:
データのユーザーがSegments.Namesを統合したいと考えており、新しいSegment.Namesにマップされている現在のSegment.Namesのリストを教えてくれました(すべて現在存在しています)。
これで、このリストが一時テーブルにあり、マップ先のcurrentIDとnewIDが含まれています。
私がやりたいのは、このマップに基づいて、SegmentsParcelsのSegmentIDを更新することです。私は次のステートメントを使用できます:
しかし、これによりいくつかの重複が作成されます。SegmentParcelsのParcelIDとSegmentIDに一意の制約があります。
これを行うための最良の方法は何ですか?制約を削除してから、重複を削除することを検討しました(これは、ある時点で実行し、おそらく再度実行できます)が、もっと簡単な方法があることを望んでいました。
sql-server - SQLServerでこの制約を適用する方法
cityというテーブルとcity_cityというテーブルがあります。city_cityは2つの都市レコードを相関させるため、fromcity_idとtocity_idがあります。fromcity_idとtocity_idに一意性キーを使用して一意性を適用できますが、fromcity_idとtocity_idが逆になっている場合にレコードを挿入できないように、一意性を強制するにはどうすればよいですか。
たとえば、次のレコードは概念的に同じです。
sqlite - SQLiteテーブルの制約-複数の列で一意
SQLiteのWebサイトで構文「チャート」を見つけることができますが、例がなく、コードがクラッシュしています。1つの列に固有の制約を持つ他のテーブルがありますが、2つの列のテーブルに制約を追加したいと思います。これが、「構文エラー」というメッセージとともにSQLiteExceptionを引き起こしている原因です。
私はこれを以下に基づいて行っています:
明確にするために、私が提供したリンクのドキュメントにはCONTSTRAINT name
、制約定義の前にあるべきだと書かれています。
しかし、解決策につながる可能性があるのは、括弧で囲まれた列の定義に続くものはすべて、デバッガーが文句を言うものであるということです。
入れたら
エラーは「CONSTRAINT」の近くにあります:構文エラー
入れたら
エラーは「UNIQUE」の近くにあります:構文エラー
ruby-on-rails - Rails - :scope の逆のモデル フィールドの validates_uniqueness_of
モデル内のいくつかのフィールドの一意性を 1 つのキャッチで検証しようとしています。レコードに共有関係がある場合、エラーは発生しません。例として、ここに私が意味するものがあります:
を使用するvalidates_uniqueness_of :comments, :scope => :category_id
と、私がやろうとしていることとは正反対の効果が得られます。これを行う簡単な方法はありますか?ありがとう。
hibernate - hbmで複数列のUniqueConstraintを実行するにはどうすればよいですか?
いくつかのレガシー休止状態コードに取り組んでいます。
アノテーションの代わりにhbm.xml(hibernateマッピングファイル)を使用して次のことを行うにはどうすればよいですか?
php - PHP MySQL INSERT が一意の制約により失敗する
挿入時に、一意の制約 mysql_errno() 1062 をキャッチしています。
これは正常に機能しますが、既存の行を見つけて復元または変更したいと考えています。
挿入失敗時に行 ID を取得する方法はありますか? mysql_insert_id() を試しましたが、挿入している (または挿入に失敗した) 行のみが返されることに気付きました。したがって、0 を取得します。
別の mysql_query を発行し、重複した値に対して単純に選択を実行する以外に選択肢はありませんか?
これを行うためのより良い、より迅速で経済的な方法がないことを確認したいだけです.
sql - SQL Server の一意の制約の問題
Visual Studio で varchar(max) フィールドに一意の制約を視覚的に作成する方法。
問題は私がそれを試すときです:
インデックスとキーの管理 > 追加 > 列
bigint 列のみを選択できますが、varchar(max) 列は選択できません。
おそらくチェック制約を使用する必要がありますか?
はいの場合、式には何を入れますか?
情報ありがとうございます