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

 MySQL Discussion :

Create table non accepté


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 46
    Par défaut Create table non accepté
    Bonjour à tous,
    je voudrais créer dynamiquement des tables mais mon code semble ne pas fonctionner. Pourriez vous m'indiquer pourquoi s'il vous plait!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    //création perf/jour du fond
    $nom_table = "perfjour_$nom";
    mysql_query("CREATE TABLE ".$nom_table." (
    		id int(10) unsigned NOT NULL auto_increment,
    		date date() NOT NULL default,
    		valeur varchar(16) NOT NULL default,
    		PRIMARY KEY (id),
    		)");
     
    //création perf/mois du fond
    $nom_table = "perfmois_$nom";
    mysql_query("CREATE TABLE ".$nom_table." (
    		id int(10) unsigned NOT NULL auto_increment,
    		mois varchar(16) NOT NULL default,
    		valeur varchar(16) NOT NULL default,
    		PRIMARY KEY (id),
    		)");
     
    //création perf/année du fond
    $nom_table = "perfannee_$nom";
    mysql_query("CREATE TABLE ".$nom_table." (
    		id int(10) unsigned NOT NULL auto_increment,
    		annee varchar(4) NOT NULL default,
    		valeur varchar(16) NOT NULL default,
    		PRIMARY KEY (id),
    		)");
    Merci d'avance

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Peut-être la dernière virgule après PRIMARY KEY (id),
    En outre, je suppose que tu veux l'ENGINE par défaut du serveur.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 46
    Par défaut
    l'engine par défaut du serveur?
    Je sais pas du tout de quoi tu parle! Je veux juste créer mes petites tables en toute tranquillité...
    sinon pour la virgule j'ai oublié de l'enlever avant de poster ici...ca faisait parti des tests que j'avais fait...
    Une autre idée ?

  4. #4
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par fourmizen Voir le message
    l'engine par défaut du serveur? table_option:
    {ENGINE|TYPE} = {BDB|HEAP|ISAM|InnoDB|MERGE|MRG_MYISAM|MYISAM}
    table_option:
    {ENGINE|TYPE} = {BDB|HEAP|ISAM|InnoDB|MERGE|MRG_MYISAM|MYISAM}
    Sinon un petit or die(mysql_error()) derrière chaque mysql_query() pourrait apporter des infos sur la nature du problème
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 46
    Par défaut
    a ok. Et comment on fait pour spécifier l'engine? En fait ca sert à quoi l'engine?

    Sinon j'avais modifié ma table comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    mysql_query("CREATE TABLE '".$nom_table."' (
    		'id' int(10) unsigned NOT NULL auto_increment,
    		'type' varchar(8) NOT NULL,
    		'date' date() NOT NULL,
    		'valeur' varchar(16) NOT NULL,
    		PRIMARY KEY ('id')
    		)")or die(mysql_error());
    et j'ai obtenu cette erreur :
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''perf_bdf' ( 'id' int(10) unsigned NOT NULL auto_increment, 'type' varchar' at line 1

  6. #6
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par fourmizen Voir le message
    a ok. Et comment on fait pour spécifier l'engine? En fait ca sert à quoi l'engine?
    Le fait d'être débutant n'exempte pas d'une lecture, a minima, de la documentation.

    Si tu ne fais pas la différence entre table MyISAM ou InnoDB, je ne saurais trop t'engager à potasser quelque peu :
    Les moteurs de tables de MySQL
    Par ailleurs, il ne faut pas confondre `(alt gr 8) avec ', l'encapsulation des noms de tables et de colonnes se fait avec `nomdetable`ou `nomdecolonne`.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA] : Pb Create Table avec Champs Oui/Non
    Par GuidoBrasletti dans le forum Access
    Réponses: 8
    Dernier message: 15/03/2006, 19h11
  2. [DB2] create table... if not exists ?
    Par iubito dans le forum DB2
    Réponses: 6
    Dernier message: 23/03/2004, 18h26
  3. Create table + jointure
    Par ender999 dans le forum Débuter
    Réponses: 7
    Dernier message: 20/02/2004, 12h04
  4. Database new user & create table
    Par MFDev dans le forum InterBase
    Réponses: 3
    Dernier message: 30/09/2003, 20h47

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