Verhindern Sie leere Zeichenfolgen im Feld CHARACTER VARYING

8

Ich benutze PostgreSQL und möchte verhindern, dass bestimmte CHARACTER VARYING (VARCHAR) -Felder leere String-Eingaben zulassen.

Diese Felder müssten auch eindeutige Werte enthalten, daher verwende ich bereits eine eindeutige Einschränkung; Dies verhindert jedoch nicht einen ursprünglichen (eindeutigen) leeren Wert.

Einfaches Beispiel, in dem der Benutzername eindeutig und nicht leer sein muss

%Vor%     
SimonMayer 04.03.2012, 15:23
quelle

3 Antworten

14

Verwenden Sie eine Überprüfung der Einschränkung :

%Vor%     
Frank Heikens 04.03.2012, 15:33
quelle
5

Sie können beim Definieren von Tabellenfeldern die Standard-SQL-Klausel CONSTRAINT ... CHECK verwenden:

%Vor%     
Dmitry Negoda 04.03.2012 15:32
quelle
2

Als besondere Art von Einschränkung können Sie den Datentyp + Einschränkung in eine DOMÄNE einfügen:

%Vor%

Damit können Sie die Domäne immer wieder verwenden, ohne die Einschränkung jedes Mal kopieren zu müssen.

    
wildplasser 04.03.2012 15:34
quelle

Tags und Links

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '334593',
    'url' => 'prevent-empty-strings-in-character-varying-field',
];

$_COOKIE = [
    'advanced-frontend' => '5fdb424138ac0dc1ec98f8ac761e5b67',
    '_csrf-frontend' => 'e01cdf694a1e487a63a39ccaa480ae3b37db47bb898b240d7cb515e6dea04519a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"huKH94NY5aj0gSbrnAcnJ-0ba9I80SuH";}',
];

$_SESSION = [
    '__flash' => [],
];