こんにちは、MVC3 を使用していて、アプリケーション内で同じ主キーが入力されるのを止める方法を知りたいです。私は主キーを NVARCHAR(100) に設定しており、ユーザーが同じ名前を再度入力するのを防ぐために、simlar 検証の reg x が必要なコンソール名を許可できます。
さらに情報が必要な場合は、お問い合わせください
こんにちは、MVC3 を使用していて、アプリケーション内で同じ主キーが入力されるのを止める方法を知りたいです。私は主キーを NVARCHAR(100) に設定しており、ユーザーが同じ名前を再度入力するのを防ぐために、simlar 検証の reg x が必要なコンソール名を許可できます。
さらに情報が必要な場合は、お問い合わせください
最近回答したように、varchar()列とnvarchar()列を主キーとして使用しないことをお勧めします。結合とQueryById()操作では速度が遅く、値の編集を許可したいという誘惑に駆られます(これもお勧めしません)。列にクラスター化インデックスがあるため、主キーの編集は不適切です。値を十分に変更すると、インデックスが歪曲され、再構築する必要があります。
IDENTITY列(SQL Server)またはSEQUENCE(Oracle)を使用し、Name列にUNIQUE制約を設定することをお勧めします。一意の制約があるため、ユーザーが重複した名前を入力しようとすると、データベースエンジンは例外をスローします。コードは例外をキャッチし、ユーザーに適切なエラーメッセージを表示する必要があります。
そのために正規表現は必要ないと思います。新しいレコードをデータベースに追加する前に、 a を実行して、select
それが既に存在するかどうかを確認してください。
また、mgnoonan の状態と同様に、主キーとして varchar を使用することは、一般的には適切な方法ではありません。私がこれに遭遇するたびに、最終的に問題を引き起こしました。