【解決方法】主キー列で重複値を許可するにはどうすればよいですか?


主キー制約で重複値が許可されていないことはわかっていましたが、アプリケーションの古いデータベースの主キー列に重複値があることがわかりました…どうやってそれが可能ですか?

解決策 1

主キーに重複した値を含めることはできません。重複した値は主キーではありません。

解決策 3

答え: いいえ、それは不可能です

文言 主キー 重複しない値を意味します。 それは仕様によるものです

重複した値を含めることができます 非主キー、それが唯一の方法です。

解決策 2

解決策 1 で述べたように、主キーに実際の重複値を含めることはできません。
ただし、次のような主キーを持つことができる場合があります。 現れる 重複しているはずですが、重複していません。 たとえば、主キーがテキスト (nvarchar) の場合、次のようなことが起こる可能性があります。
ABC
ABC
ABC
最初の 2 つは、2 番目の値の末尾のスペースが異なります。 3rdには先行スペースがある。 よく見ないと、 実際 価値観は、 現れる 重複すること。

解決策 4

実際、それは可能です。私のデータベースには、表 1 にリンクされたフォームがあり、表 2 にリンクされたサブフォームが含まれています。

テーブル 1 と 2 は、重複を許可しない主キーによってリンクされています。

現在、私のフォームには同じ主キーを持つ 2 つのレコードが表示されています…フォームにはそれらが表示されていますが、テーブルには重複の痕跡がありません。

もちろん、テーブル 1 のレコードを削除することはできません。削除すると、両方の重複が FORM から消えるからです。
そして、その場合、レコードを再度入力すると、FORM に重複が再表示されます。

それは奇跡です…どうすればそれができるのか本当にわかりません。

誰か手伝ってくれませんか?

コメント

タイトルとURLをコピーしました