Vérifier qu'une valeur est positive [Résolu]

Signaler
Messages postés
12
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
27 décembre 2012
-
Messages postés
12
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
27 décembre 2012
-
voici mon code sql pour créer une table et vérifier que la valeur est positive avant l'insertion et pourtant j'ai dejà pu voir une valeur négative dans le champ nombre_reserve par exemple.
	CREATE  TABLE `cafeteria`.`Articles` (
`idArticle` INT NOT NULL ,
`nom` VARCHAR(45) NOT NULL ,
`prix` FLOAT NOT NULL CHECK (`prix` >= 0),
`nombre_reserve` INT NOT NULL CHECK(`nombre_reserve` >=0),
`nombre_vendu` INT NOT NULL CHECK(`nombre_vendu` >=0),
`type` VARCHAR(45) NULL ,
`offert` INT NOT NULL CHECK (`offert` >= 0),
PRIMARY KEY (`idArticle`) );


Si quelqu'un pouvait m'aider et me dire pourquoi mysql ne balance pas d'erreur quand on essaie de rentrer une valeur négative. Merci d'avance.

2 réponses

Messages postés
12
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
27 décembre 2012

En fait je décrémente au fur et à mesure mon "nombre_reserve" quand au nombre_vendu il ne fait que croître. sinon je jette un coup d'oeil à sql ... http://www.w3schools.com/sql/sql_check.asp
j'ai ça pour oracle et ms access:
CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
et ça pour mysql :
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (P_Id>0)
)
Donc j'ai qu'à utiliser la syntaxe pour mysql
MERCI           

Salut,

Est-ce que c'est détecté pour nombre_vendu décrit de la même manière ?

Mais je trouve étrange qu'on demande (dans les deux cas) que ce soit NOT NULL et en même temps >= 0.

Cordialement

...\ Dan /...