IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

[phpMyAdmin] Comment mettre une valeur max pour un INT ?


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [phpMyAdmin] Comment mettre une valeur max pour un INT ?
    Bonsoir ! C'est encore moi --'

    Toujours sur ma BDD type AlloCiné, je cherche à mettre une valeur max pour un INT pour la note d'un film ... En clair, je voudrais que l'on puisse mettre 5 ou 10 comme valeur max ... Est-ce possible ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ca se fait soit côté applicatif, soit au moment de l'insertion avec un trigger.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Ca se fait soit côté applicatif
    ça c'est débile, il faudrait le faire dans toutes les applications actuelles et futures !!!!!

    soit au moment de l'insertion avec un trigger.
    ça c'est contre performant.... !

    Mieux vaudrait faire une contrainte CHECK ! Malheureusement, MySQmerde ne les acceptent toujours pas !
    Extrait de la doc :
    "The CHECK clause is parsed but ignored by all storage engines"

    Bref, prenez un vrai SGBDR, pas un ersatz ! A me lire : http://blog.developpez.com/sqlpro/p9...oudre_aux_yeux

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    ça c'est débile, il faudrait le faire dans toutes les applications actuelles et futures !!!!!

    ça c'est contre performant.... !
    On fait avec les outils que l'on dispose.

  5. #5
    Membre éclairé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2012
    Messages : 416
    Points : 747
    Points
    747
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Bref, prenez un vrai SGBDR, pas un ersatz !
    Même si je suis entièrement d'accord, tout le monde n'a pas cette possibilité... ça ne sert à rien de descendre chaque personne qui poste un problème sur MySQL.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 176
    Points : 301
    Points
    301
    Par défaut
    Bonsoir,

    Si vous souhaitez que la note des films prenne une valeur maximale, vous pouvez la définir avec la clause DEFAULT. Il faudra lancer une requête ALTER TABLE pour appliquer cette contrainte. Par exemple, si les notes vont de 0 à 10, vous pouvez saisir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE Film MODIFY Note TINYINT NOT NULL DEFAULT 10;
    TINYINT consomme 1 octet tandis que INT en consomme 4. Vous économiserez ainsi 3 octets pour chaque ligne dans votre table.

  7. #7
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonsoir

    Je suis étonné de la réponse de la réponse de MacFly58. Je ne vois pas en quoi mettre une valeur par défaut de "10" empêcherait de saisir des valeurs supérieures. JE suis preneur d'explications.

    Pierre

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 176
    Points : 301
    Points
    301
    Par défaut
    Bonsoir,

    Mettre une valeur par défaut de "10" n'empêchera pas de saisir des valeurs supérieures. L'explication, c'est que j'ai mal compris le besoin exprimé par VLorde.

    Dans ce cas, outre un ensemble de triggers, une autre solution est envisageable et parfois préférable.

    Il est possible de créer une table "Note" contenant les notes des films (de 1 à 10 par exemple) et que la colonne Note de la table "Film" référence la clé primaire de la table "Note".
    La création de cette clé étrangère permettra de définir un intervalle de validité pour toutes les notes.

Discussions similaires

  1. [WD16] comment mettre une valeur d'un combo dans une autre fenêtre
    Par T1929D dans le forum WinDev
    Réponses: 1
    Dernier message: 06/08/2013, 17h01
  2. Réponses: 10
    Dernier message: 10/01/2012, 21h40
  3. [MySQL] comment récupérer une valeur booleenne d'un formulaire pour implémenter sous mysql
    Par ben.IT dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/02/2009, 07h54
  4. Comment retourné une valeur pour le main
    Par kurkLord dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2007, 22h20
  5. [TP 7] Comment mettre plusieurs valeurs en une ?
    Par Qawox dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 15/07/2006, 02h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo