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

PHP & Base de données Discussion :

Erreur de syntaxe lors de l'import de fichier .sql


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Erreur de syntaxe lors de l'import de fichier .sql
    Salut !

    J'ai un nouveau problème, toujours en SGBD. Là, je viens de réussir à importer un fichier .sql que j'ai trouvé sur le net (c'est juste pour voir si ça marche), mais moi, j'ai généré un code SQL à partir de AnalyseSI. Pour ceux qui ne connaissent pas, ce logiciel permet de générer un code SQL à partir d'un modèle de conception de donnée (MCD). Je ne sais pas si on peut implanter avec plusieurs méthodes, mais moi, j'utilise la méthode Merise pour créer mon MCD.

    Donc, après avoir généré mon code SQL, et l'avoir enregistré, j'ai essayer de l'importer avec phpmyadmin, et ça me dit :

    Erreur

    requête SQL:

    CREATE TABLE commune(
    id_commune uniqueidentifier NOT NULL ,
    commune_nom varchar( 50 )
    );

    MySQL a réponduocumentation
    #1064 - 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 'uniqueidentifier NOT NULL, commune_nom varchar(50))' at line 1

    Apparement, la syntaxe est mauvaise, mais vu que ce n'est pas vraiment moi qui a écrit le code, mais AnalyseSI, je ne sais pas vraiment d'où est-ce que ça peut venir.

    Si quelqu'un a une solution, je suis prêt à l'écouter .

    Merci d'avance

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Points : 202
    Points
    202
    Par défaut
    uniqueidentifier, mysql connaît pas

    pour convertir ça t'as la migration toolkit :
    http://www.mysql.com/products/tools/migration-toolkit/

  3. #3
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,

    AnalyseSI, propose un code sql générique, c'est à toi à l'adapter pour ta base de donnée.

    Je suppose que tu utilises Mysql, je te proposerais quelque chose comme ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE TABLE `commune`(
    `id_commune` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `commune_nom` VARCHAR( 50 )
    );
    id_commune sera non null, auto incrémenté et de clé primaire.

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Oui merci ! ça marche avec la méthode de MaitrePylos. Mais je n'ai pas encore essayer ton migration toolkit sielfried...mais je pense que je vais m'en servir parce que je sens que je vais avoir d'autre problème de syntaxe.

    Merci à vous deux en tout cas

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    heu...pour le migration tool, j'ai pas trop bien compris comment ca fonctionne. Et malgré le tuto video, j'ai du mal a comprendre comment remplir certains champs...

  6. #6
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    comme je l'avais prédit, une autre erreur est arrivé :

    Erreur

    requête SQL:

    ALTER TABLE candidats ADD CONSTRAINT PK_candidats PRIMARY KEY ( id_candidat ) ;

    MySQL a réponduocumentation
    #1068 - Multiple primary key defined

    Par contre, je ne sais pas à quoi sert la fonction ALTER TABLE, je suis aller quelques sites, mais je n'ai pas vraiment compris de quoi il s'agit.

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Hola,

    Je te conseille de lire les quelques tutoriels se trouvant sur developpez.com.

    Ceci afin que tu puisse comprendre les messages d'erreurs quand tu les reçois.


    dans ce dernier cas, tu essaye de modifier(ALTER), un table afin de lui mettre id_candidat comme clé primaire, mais visiblement un champ est déjà définis comme clé primaire dans ta table.

  8. #8
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Ok j'vais aller regarder un peu les tutos, mais il y en a tellement, que pour un problème spécifique comme celui là j'ai tendance à aller demander sur les forum.


    Merci beaucoup de vos aides.

  9. #9
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,

    Ce n'est pas un problème spécifique, c'est une erreur de conception de ta base de données.

    Il est vrai que dans le programmation il faut savoir tout, et que c'est pas toujours évident.

    Comme je t'ai l'ai dit tu essaye de mettre plusieurs clé primaire dans la même table.

    Regarde dans le génération de la table "candidats", tu devrais trouver plusieurs fois le mot clé "PRIMARY KEY", il ne doit y apparaître qu'une seule fois.

    Attention à bien choisir ta clé primaire. Enfin tu fais du Merise donc j'imagine que tu sais de quoi on parle?

Discussions similaires

  1. Erreur de syntaxe lors d'un INSERT INTO
    Par amerex dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 30/09/2008, 00h23
  2. Erreur IMP-00008 lors d'un import
    Par MashiMaro dans le forum Import/Export
    Réponses: 0
    Dernier message: 21/01/2008, 16h18
  3. erreur "Segmentation Fault" lors de l'import d'un dump
    Par farenheiit dans le forum Import/Export
    Réponses: 13
    Dernier message: 28/11/2007, 11h17
  4. Erreur de syntaxe lors de la construction d'un lien
    Par sosophie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/06/2007, 18h02
  5. [PEAR][Services_Google] Erreur de syntaxe lors de son utilisation
    Par blueice dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 17/05/2006, 12h13

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