{MySQL} #1064 - Erreur de syntaxe près de ')

Absot Messages postés 819 Statut Membre -  
Absot Messages postés 819 Statut Membre -
Bonjour, j'ai un problème quand je veux rentrer des table dans ma BDD avec phpmyadmin, j'ai l'erreur #1064 - Erreur de syntaxe près de ') NOT NULL) ENGINE = InnoDB' à la ligne 1 mais je ne sais pas d'où vient le problème..

Voilà la table:
CREATE TABLE `site`.`Produit` (
`idProduit` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nom` VARCHAR( 50 ) NOT NULL ,
`categorie` VARCHAR( 50 ) NOT NULL ,
`reference` VARCHAR( 50 ) NOT NULL ,
`photo` VARCHAR( 50 ) NOT NULL ,
`prixTTC` DOUBLE( 11 ) NOT NULL
) ENGINE = InnoDB 


A quoi sert ENGINE = InnoDB ?

Merci de votre aide.

8 réponses

Utilisateur anonyme
 
Salut à ton CREATE TABLE, met seulement le nom de ta table

et ENGINE = INNO DB permet de gérer les clés étrangères
3
Absot Messages postés 819 Statut Membre 44
 
C'est en faisant qu'on apprend :)

Pour mon fichier, je préfère l'option de créer un fichier .sql et après de l'importer dans phpmyadmin comme ça, si je change de pc ou autre, j'ai juste à le réinsérer..

Normalement, pour se connecter à la BDD, cette requête fonctionne?
$connexion = mysql_connect("localhost","root") or die("Connexion impossible au serveur");


Parce que j'ai cette erreur:

Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 3.0\www\site\catalogue.php on line 29
Connexion impossible au serveur


Et la ligne 29 est ma requête citée un peu plus haut..
1
Alkaaran Messages postés 291 Statut Membre 37
 
C'est DOUBLE (11) le problème, met plutot FLOAT ( 11) ou DOUBLE tout court

L'engine InnoDB est un moteur de tables, c'est lui qui va gérer la correspondance et le stockage des fichiers de BDD
0
Absot Messages postés 819 Statut Membre 44
 
Je viens de tester en mettant un INT à la place d'un double et ça fonctionne..

J'ai modifier ensuite le INT par un FLOAT et ça fonctionne aussi mais le FLOAT est l'équivalent du double?
0
Alkaaran Messages postés 291 Statut Membre 37
 
Il est utilisé pour les nombres à virgule aussi oui

Plus d'infos : http://dev.mysql.com/doc/refman/5.0/fr/numeric-type-overview.html
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Absot Messages postés 819 Statut Membre 44
 
Je comprends mieux merci par contre j'ai une nouvelle erreur à ma table client, il me dit l'erreur #1067 - Valeur par défaut invalide pour 'postal' alors qu'elle est comme ça:
postal int( 5 ) NOT NULL default '',


Je ne vois pas trop où est le problème.. :/

Je voudrais aussi créer un fichier .sql qui me permet de faire une sauvegarde de mes données au cas où et pour la rentrer dans la BDD, il faut d'abord créer le base puis les tables et après importer le fichier?
0
Alkaaran Messages postés 291 Statut Membre 37
 
postal int( 5 ) NOT NULL default 0,

Tu ne peut pas mettre de chaine dans un integer :)

Pour ton fichier fais simplement une sauvegarde avec phpMyadmin (si tu l'as)
0
Alkaaran Messages postés 291 Statut Membre 37
 
$connexion = mysql_connect("localhost","root","motdepasse") or die("Connexion impossible au serveur");

Sinon tu peux exporter manuellement depuis phpmyadmin : cela te créera au choix un fichier .txt, .sql ou .zip et bien d'autres options :)
0
Absot Messages postés 819 Statut Membre 44
 
Effectivement ça marche mieux avec un mot de passe... xD

Je commence à bien comprendre mysql :)

J'exporterai de temps en temps ma BDD pour en faire une sauvegarde..
0