2017-10-14 3 views
0

J'essaie de créer une table simple avec quelques colonnes. Je voudrais ajouter une contrainte de vérification à l'une des colonnes, voir ci-dessous:Impossible d'ajouter une contrainte de vérification à une colonne

create table jobs (
    JOB_ID varchar(10) not null, 
    JOB_TITLE varchar(35) not null, 
    MIN_SALARY decimal(6,0), 
    MAX_SALARY decimal(6,0) 
    CHECK(MAX_SALARY<=25000) 
    ); 

Ce retourne une erreur pour la ligne CHECK.

Une virgule ou une parenthèse fermante était attendue. (près de CHECK)

Si j'ajoute une virgule comme à la ligne précédente; MAX_SALARY decimal(6,0),, je suis retourné avec plus d'erreurs:

Un nom de symbole a été prévu! Un mot clé réservé ne peut pas être utilisé en tant que nom de colonne sans citations inverses.

début inattendu de déclaration près MAX_SALARY

début inattendu de déclaration près de 25000

+0

Votre serveur de base de données est ?? –

+0

@Hackit Je suis nouveau à ce sujet, donc je ne suis pas trop sûr de la terminologie. Mais je cours phpMyAdmin via xampp –

+0

ok Fine son 'MYSQL' !! –

Répondre

0

Mise à jour:

Just Create Table sans contrôle et puis après le modifier:

create table jobs (
    JOB_ID varchar(10) not null, 
    JOB_TITLE varchar(35) not null, 
    MIN_SALARY decimal(6,0), 
    MAX_SALARY decimal(6,0) 
    ); 

ALTER TABLE jobs ADD CHECK (MAX_SALARY<=25000); 

OU


MySQL:

create table jobs (
    JOB_ID varchar(10) not null, 
    JOB_TITLE varchar(35) not null, 
    MIN_SALARY decimal(6,0), 
    MAX_SALARY decimal(6,0), 
    CHECK(MAX_SALARY<=25000)  
    ); 

SQL Server/Oracle

create table jobs (
    JOB_ID varchar(10) not null, 
    JOB_TITLE varchar(35) not null, 
    MIN_SALARY decimal(6,0), 
    MAX_SALARY decimal(6,0) CHECK(MAX_SALARY<=25000) 

    ); 

REMARQUE:CHECK contraintes ne sont pas pris en charge par MySQL Mais vous pouvez l'utiliser, comme je l'ai déclaré, mais ce ne est pas vous donner une sortie !!

+0

Tous ces exemples me retournent avec des erreurs similaires. –

+0

@AugustWilliams Pouvez-vous essayer avec la table Alter? –

+0

Conflit 'CHECK' avec' ADD' –