Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/04/2005, 14h44   #1
Membre régulier
 
Inscription : avril 2002
Messages : 224
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 224
Points : 76
Points : 76
Envoyer un message via MSN à BRAUKRIS
Par défaut Contrainte avec MySql

Bounjour,

J'ai 2 petites questions:

Je viens de comprendre qu'il y avait possibilité de créer des contraintes dans MySql pour par exemple vérifier qu'un champ n'est pas vide avec (NOT NULL) mais aussi d'autres possibilités avec (DEFAUT, UNIQUE etc...)

Question 1 : Est-il possible d'utiliser la contrainte"Check" avec MySql qui permet de faire des vérifications sur un champ.

Question 2 : Je voulais connaitre votre avis sur la vérification des saisies de l'utilisateur dans une application web.
Exemple, le nom de l'utilisateur doit obligatoirement être saisie.Actuellement j'utiliserai pour cette verification le javascript et les expressions réguliéres. Mé si j'ai bien compris le principe, il me serait possible de le gérer avec un NOT NULL qui me retournerai une erreur. Avantage pas de javascript et donc une application portable. Ba maintenant si je pouvais avoir votre avis savoir si c'est possible ou pas ?

PS: j'utilise des tables de type InnoDb et MyIsam
__________________
Petit à petit, l'oiseau fait son nid !
BRAUKRIS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2005, 16h24   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Par défaut Re: Contrainte avec MySql

Citation:
Envoyé par BRAUKRIS
Question 1 : Est-il possible d'utiliser la contrainte"Check" avec MySql qui permet de faire des vérifications sur un champ.
Non, pas pour l'instant (un CHECK ne générera pas d'erreurs mais la contrainte n'est pas implémentée).

Citation:
Envoyé par BRAUKRIS
Question 2 : Je voulais connaitre votre avis sur la vérification des saisies de l'utilisateur dans une application web.
Exemple, le nom de l'utilisateur doit obligatoirement être saisie.Actuellement j'utiliserai pour cette verification le javascript et les expressions réguliéres. Mé si j'ai bien compris le principe, il me serait possible de le gérer avec un NOT NULL qui me retournerai une erreur. Avantage pas de javascript et donc une application portable. Ba maintenant si je pouvais avoir votre avis savoir si c'est possible ou pas ?
C'est tout à fait possible mais la vérification est plus longue qu'avec du Javascript qui s'exécute entièrement côté client.
De plus il est toujours plus confortable pour l'utilisateur d'avoir une boite de dialogue d'erreur qui s'affiche aussiôt plutôt que de devoir attendre que le formulaire soit transmis et retourné pour s'apercevoir qu'on l'a mal rempli...
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2005, 16h34   #3
Membre régulier
 
Inscription : avril 2002
Messages : 224
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 224
Points : 76
Points : 76
Envoyer un message via MSN à BRAUKRIS
Ok merci pour les infos sur la condition CHECK Maximilian.
Saisi-tu si cela doit être géré dans les prochaines version.

Code :
1
2
3
 
C'est tout à fait possible mais la vérification est plus longue qu'avec du Javascript qui s'exécute entièrement côté client.
De plus il est toujours plus confortable pour l'utilisateur d'avoir une boite de dialogue d'erreur qui s'affiche aussiôt plutôt que de devoir attendre que le formulaire soit transmis et retourné pour s'apercevoir qu'on l'a mal rempli...
Oui c'est vrai effectivement mais comment faire si l'utilisateur à desactivé son JavaScript ?
__________________
Petit à petit, l'oiseau fait son nid !
BRAUKRIS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2005, 11h59   #4
Nouveau Membre du Club
 
Inscription : juin 2003
Messages : 35
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 35
Points : 33
Points : 33
Envoyer un message via MSN à kmsoft
Citation:
Envoyé par BRAUKRIS
comment faire si l'utilisateur à desactivé son JavaScript ?
En ce qui me concerne je fais la vérification en deux étapes :
  • 1- en javascript
    2- en php lorsque le formulaire sera traité

Je ne sais pas si c'est la meilleure solution, mais comme ça au moins lorsque le Javascript est désactivé, je pourrais toujours vérifier les données avant de les insérer dans ma base
bon courage
kmsoft est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2005, 12h16   #5
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Citation:
Envoyé par BRAUKRIS
Saisi-tu si cela doit être géré dans les prochaines version.
Dans la 5.1 si je ne m'abuse. Enfin la doc n'est pas très claire sur ce point-là et de toute façon ce n'est pas pour demain

Citation:
Envoyé par kmsoft
Citation:
Envoyé par BRAUKRIS
comment faire si l'utilisateur à desactivé son JavaScript ?
En ce qui me concerne je fais la vérification en deux étapes :
  • 1- en javascript
    2- en php lorsque le formulaire sera traité

Je ne sais pas si c'est la meilleure solution, mais comme ça au moins lorsque le Javascript est désactivé, je pourrais toujours vérifier les données avant de les insérer dans ma base
Je pense également que c'est la meilleure solution.

[edit]

Avec MySQL 5.0.3, on peut utiliser une vue WITH CHECK OPTION pour simuler une contrainte check.
cf : http://dev.mysql.com/tech-resources/articles/mysql-views.html

[/edit]
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h59.


 
 
 
 
Partenaires

Hébergement Web