Partage
  • Partager sur Facebook
  • Partager sur Twitter

creation d'une table

    16 janvier 2006 à 9:29:44

    bonjour voila je souhaite cree la table suivante
    requête SQL:

    CREATE TABLE `devis` (

    `iddevis` MEDIUMINT NOT NULL AUTO_INCREMENT ,
    `date` DATE NOT NULL ,
    `civil` VARCHAR( 5 ) NOT NULL ,
    `nom` VARCHAR( 100 ) NOT NULL ,
    `prenom` VARCHAR( 100 ) NOT NULL ,
    `adresse` VARCHAR( 100 ) NOT NULL ,
    `cp` VARCHAR( 5 ) NOT NULL ,
    `ville` VARCHAR( 100 ) NOT NULL ,
    `email` VARCHAR( 100 ) NOT NULL ,
    `tel` VARCHAR( 10 ) NOT NULL ,
    `telgsm` VARCHAR( 10 ) NOT NULL ,
    `statut` VARCHAR( 15 ) NOT NULL ,
    `habitation` VARCHAR( 15 ) NOT NULL ,
    `anconst` VARCHAR( 4 ) NOT NULL ,
    `cptravaux` VARCHAR( 5 ) NOT NULL ,
    `villetravaux` VARCHAR( 100 ) NOT NULL ,
    `naturetravaux` VARCHAR( 100 ) NOT NULL ,
    `typetravaux` VARCHAR( 100 ) NOT NULL ,
    `descriptiontravaux` VARCHAR( 250 ) NOT NULL ,
    `datetravaux` VARCHAR( 10 ) NOT NULL ,
    `budgetravaux` VARCHAR( 15 ) NOT NULL ,
    `financetravaux` VARCHAR( 15 ) NOT NULL ,
    `pub` VARCHAR( 15 ) NOT NULL ,
    `newsletter` VARCHAR( 5 ) NOT NULL ,
    `validation` VARCHAR( 10 ) NOT NULL
    ) TYPE = MYISAM



    jusque la tres bien je pense

    mais la ou es l'erreur c'est que j'obtien le message suivant

    MySQL a répondu:

    #1075 - Un seul champ automatique est permis et il doit être indexé



    qui peux m'aider svp parceque je ne comprend pas pourquoi?
    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2006 à 9:44:38

      Je pense qu'il faut que tu met ton premier champ qui est auto incrémenté en clé primaire ou indexé !
      • Partager sur Facebook
      • Partager sur Twitter
        16 janvier 2006 à 9:51:53

        c'est a dire s'il te plait ? parceque meme si je mets binary ca ne le prend pas?
        • Partager sur Facebook
        • Partager sur Twitter
          16 janvier 2006 à 9:54:22


          CREATE TABLE `devis` (

          `iddevis` MEDIUMINT NOT NULL AUTO_INCREMENT ,
          `date` DATE NOT NULL ,
          `civil` VARCHAR( 5 ) NOT NULL ,
          `nom` VARCHAR( 100 ) NOT NULL ,
          `prenom` VARCHAR( 100 ) NOT NULL ,
          `adresse` VARCHAR( 100 ) NOT NULL ,
          `cp` VARCHAR( 5 ) NOT NULL ,
          `ville` VARCHAR( 100 ) NOT NULL ,
          `email` VARCHAR( 100 ) NOT NULL ,
          `tel` VARCHAR( 10 ) NOT NULL ,
          `telgsm` VARCHAR( 10 ) NOT NULL ,
          `statut` VARCHAR( 15 ) NOT NULL ,
          `habitation` VARCHAR( 15 ) NOT NULL ,
          `anconst` VARCHAR( 4 ) NOT NULL ,
          `cptravaux` VARCHAR( 5 ) NOT NULL ,
          `villetravaux` VARCHAR( 100 ) NOT NULL ,
          `naturetravaux` VARCHAR( 100 ) NOT NULL ,
          `typetravaux` VARCHAR( 100 ) NOT NULL ,
          `descriptiontravaux` VARCHAR( 250 ) NOT NULL ,
          `datetravaux` VARCHAR( 10 ) NOT NULL ,
          `budgetravaux` VARCHAR( 15 ) NOT NULL ,
          `financetravaux` VARCHAR( 15 ) NOT NULL ,
          `pub` VARCHAR( 15 ) NOT NULL ,
          `newsletter` VARCHAR( 5 ) NOT NULL ,
          `validation` VARCHAR( 10 ) NOT NULL,
          PRIMARY KEY ( `iddevis` )
          ) TYPE = MYISAM

          Ca permet de mettre le champ iddevis en clé primaire!
          Ca devrait fonctionner ca, enfin j'espere
          • Partager sur Facebook
          • Partager sur Twitter
            16 janvier 2006 à 9:57:56

            c bon je trouvez merci a mateo et a son cours
            • Partager sur Facebook
            • Partager sur Twitter
              16 janvier 2006 à 10:17:19

              ben donne la solution et met "résolu" a ton poste...
              • Partager sur Facebook
              • Partager sur Twitter
                16 janvier 2006 à 10:30:18

                oui je voulais mettre la solution mais j'ai poster mon message trop vite et comme on peux pas écrire deux message d'affiler je devais attendre


                CREATE TABLE `devis` (
                `iddevis` MEDIUMINT NOT NULL AUTO_INCREMENT ,
                `date` DATE NOT NULL ,
                `civil` VARCHAR( 5 ) NOT NULL ,
                `nom` VARCHAR( 100 ) NOT NULL ,
                `prenom` VARCHAR( 100 ) NOT NULL ,
                `adresse` VARCHAR( 100 ) NOT NULL ,
                `cp` VARCHAR( 5 ) NOT NULL ,
                `ville` VARCHAR( 100 ) NOT NULL ,
                `email` VARCHAR( 100 ) NOT NULL ,
                `tel` VARCHAR( 10 ) NOT NULL ,
                `telgsm` VARCHAR( 10 ) NOT NULL ,
                `statut` VARCHAR( 15 ) NOT NULL ,
                `habitation` VARCHAR( 15 ) NOT NULL ,
                `anconst` VARCHAR( 4 ) NOT NULL ,
                `cptravaux` VARCHAR( 5 ) NOT NULL ,
                `villetravaux` VARCHAR( 100 ) NOT NULL ,
                `naturetravaux` VARCHAR( 100 ) NOT NULL ,
                `typetravaux` VARCHAR( 100 ) NOT NULL ,
                `descriptiontravaux` VARCHAR( 250 ) NOT NULL ,
                `datetravaux` VARCHAR( 10 ) NOT NULL ,
                `budgetravaux` VARCHAR( 15 ) NOT NULL ,
                `financetravaux` VARCHAR( 15 ) NOT NULL ,
                `pub` VARCHAR( 15 ) NOT NULL ,
                `newsletter` VARCHAR( 5 ) NOT NULL ,
                `validation` VARCHAR( 10 ) NOT NULL ,
                INDEX ( `iddevis` )
                ) TYPE = MYISAM ;


                en fait il faut préciser index('iddevis')

                mais bon mon probleme n'est pas resolu en entier car la date ne s'affiche pas automatiquement?? :(

                et j'ai un autre soucis pour ma variable "nom" il me marque "oui" si le champ es rempli et non s'il ne l'est pas?
                pourtant ma syntaxe et bonne.

                alors un petit coup de pouce svp


                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  16 janvier 2006 à 12:16:44

                  tu devrais mettre iddevis en tant que clé primaire, pas en tant qu'index. D'ailleurs tu devrais avoir qq part ecrit en petit 'attention vous n'avez pas de clé primaire' Pour la date j vois pas ce que tu veux dire :s.. quand tu fais un INSERT, pour le champ date tu met NOW() et c'est règle. tu peux même mettre NOW() dans default j pense.

                  pour ton soucis avec le champ nom, j comprend pas du tout ce que tu veux dire non plus
                  • Partager sur Facebook
                  • Partager sur Twitter
                    16 janvier 2006 à 12:48:44

                    non je n'ai pas de petit message d'alerte :o

                    ou dois je mettre le now()

                    pour le nom dans ma base de donne il me marque "oui" et non la valeur de je tape,
                    je t'explique je rempli le formulaire en entier "nom, prenom adresse etc etc ) je le valide tous fonctionne bien et quand je vais voir dans ma base de donne je dans le champ nom j'ai pas la valuer mais seulement "oui" bizarre non??


                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      16 janvier 2006 à 12:53:18

                      ca serait plus facile si tu nous donnais ta requete qui ajouter l enregistrement dans la bdd
                      • Partager sur Facebook
                      • Partager sur Twitter
                        16 janvier 2006 à 15:56:53

                        voila mon code du moins une partis


                        <!-- ZONE COORDONNEE DU DEMANDEUR -->
                        <DIV CLASS="titreF1">VOS COORDONNEES</DIV>
                        <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="500" bgcolor="" ALIGN="CENTER">

                        <TR>
                                <TD ALIGN="right" VALIGN="top" WIDTH="150">&nbsp;</TD>
                                <TD ALIGN="left" VALIGN="top" class="radio">
                        <INPUT TYPE='radio' NAME='civil' VALUE='M.'>M.
                        <INPUT TYPE='radio' NAME='civil' VALUE='Mme'>Mme
                        <INPUT TYPE='radio' NAME='civil' VALUE='Mlle'>Mlle
                                </TD>
                        </TR>


                        <TR>
                            <TD class="titresaisie" ALIGN="left" VALIGN="top" width="150">Nom<font color="#FF0000">*</font></TD>
                            <TD ALIGN="left" VALIGN="top"><INPUT TYPE="text" NAME="nom" VALUE="" CLASS='input' onFocus="this.select()"   STYLE="width:310px;" MAXLENGTH="100"></TD>
                        </TR>




                        <TR>
                                <TD class="titresaisie" ALIGN="left" VALIGN="top" width="150">Prénom <font color="#FF0000">*</font> :&nbsp;</TD>
                                <TD ALIGN="left" VALIGN="top"><NOBR><INPUT TYPE="text" NAME="prenom" VALUE="" CLASS='input' onFocus="this.select()" STYLE="width:310px;" MAXLENGTH="100">
                        </NOBR></TD>
                        </TR>

                        <TR>
                                <TD class="titresaisie" ALIGN="left" VALIGN="top" width="150">Adresse :&nbsp; </TD>
                                <TD ALIGN="left" VALIGN="top"><TEXTAREA ID="adresse" NAME="adresse" ROWS="2" STYLE='width:314px;' CLASS='textarea'></TEXTAREA>
                        </TD>
                        </TR>


                        et donc la au lien de prendre en compte la valuer entree il ma marque ou dans ma base??
                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 janvier 2006 à 14:05:01

                          personne n'a de solution pour moi?
                          • Partager sur Facebook
                          • Partager sur Twitter

                          creation d'une table

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown