1

SQL Server CE では、nvarchar フィールドに対する外部キー制約は、末尾の空白を削除した後にのみ適用されます。これは、PK が「foo」の場合、「foo」を FK に挿入できることを意味します。
これはなぜですか?外部キーシステムが提供するはずのデータの完全性がひどく損なわれているようです。

空白が比較に含まれるように外部キー制約を強制する方法はありますか? この動作を回避するには、どのようなオプションがありますか?
FK フィールドを int に置き換えるのが最も明白な解決策ですが、関連するアプリケーションの実装方法が原因で (私の場合は) 最後の手段です。

4

1 に答える 1

0

それは正しいです。唯一の選択は、文字列ベースのFKを使用しないことです。必要に応じて、FKに使用するuniqueIDを割り当てた文字列を含むルックアップテーブルを作成できます。

于 2009-11-26T01:37:45.117 に答える