0

テーブル「管理者」のパスワード フィールドに制約を設定したいと考えています。必要な制約は、パスワードが 6 文字未満であってはならず、文字 (数字と数字) が混在していることです。

この制約の KEYWORD と構文は何ですか。私はしばらくの間 Googledit を持っていて、オフィスにいて、このタスクをすぐに完了しなければなりません。MS SQL を使用しています

ここに私が書いたものがあります、

CREATE TABLE Administrators
(
 Id int NOT NULL IDENTITY(1,1) PRIMARY KEY,
 UserName varchar(255) NOT NULL,
 PassWord varchar(255) NOT NULL,
 Email varchar(255) NOT NULL
);
4

2 に答える 2

1

絶対に DB 層でこの検証を行う必要があり、パスワードがプレーン テキストとして保存されることを気にしない場合は、TRIGGER. パスワードの受け入れまたは拒否方法を最大限に制御できます。Shantanu Gupta の戦略を使用することもできます。繰り返しますが、プレーン テキストとして保存されたパスワードを気にしない場合に限ります。

ここで IMHO で行うべき正しいことは、アプリケーションのビジネス ロジック層でこの検証を行い、パスワードをハッシュとして保存することです。

ただし、コメントで、トリガーがどのように機能するかを学習したり、アプリを論理層に分割したりする負担を負いたくないことを述べたので、いつでもクライアントで検証を行うことができます。それは非常に間違っていますが、物事を行う正しい方法を学ぶ気がなく、安価に作られたアプリケーションを顧客に販売しても問題ない場合は、探している代替手段になる可能性があります.

于 2014-02-27T13:26:35.113 に答える