MySQL : create table

Résolu
MySQLcestlebien -  
steph240 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

dans une base de donnée MySQL j'ai crée la table suivante:

CREATE TABLE IF NOT EXISTS `egw_emailadmin` (
`ea_profile_id` int(11) NOT NULL auto_increment,
`ea_smtp_server` varchar(80) default NULL,
`ea_smtp_type` int(11) default NULL,
`ea_smtp_port` int(11) default NULL,
`ea_smtp_auth` varchar(3) default NULL,
`ea_editforwardingaddress` varchar(3) default NULL,
`ea_smtp_ldap_server` varchar(80) default NULL,
`ea_smtp_ldap_basedn` varchar(200) default NULL,
`ea_smtp_ldap_admindn` varchar(200) default NULL,
`ea_smtp_ldap_adminpw` varchar(30) default NULL,
`ea_smtp_ldap_use_default` varchar(3) default NULL,
`ea_imap_server` varchar(80) default NULL,
`ea_imap_type` int(11) default NULL,
`ea_imap_port` int(11) default NULL,
`ea_imap_login_type` varchar(20) default NULL,
`ea_imap_tsl_auth` varchar(3) default NULL,
`ea_imap_tsl_encryption` varchar(3) default NULL,
`ea_imap_enable_cyrus` varchar(3) default NULL,
`ea_imap_admin_user` varchar(40) default NULL,
`ea_imap_admin_pw` varchar(40) default NULL,
`ea_imap_enable_sieve` varchar(3) default NULL,
`ea_imap_sieve_server` varchar(80) default NULL,
`ea_imap_sieve_port` int(11) default NULL,
`ea_description` varchar(200) default NULL,
`ea_default_domain` varchar(100) default NULL,
`ea_organisation_name` varchar(100) default NULL,
`ea_user_defined_accounts` varchar(3) default NULL,
`ea_imapoldcclient` varchar(3) default NULL,
`ea_order` int(11) default NULL,
`ea_appname` varchar(80) default NULL,
`ea_group` varchar(80) default NULL,
`ea_smtp_auth_username` varchar(80) default NULL,
`ea_smtp_auth_password` varchar(80) default NULL,
PRIMARY KEY (`ea_profile_id`,
KEY `ea_appname`,
KEY `ea_group` )
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2)


Voici le resultat:
#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 'KEY `ea_appname`, KEY `ea_group` ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AU' at line 36

Je ne comprend pas l'erreur , pouvez vous m'eclaircir?

11 réponses

le père
 
J'ai essayé les deux variantes et elles marchent très bien
À toi de voir laquelle correspond à tes besoins
CREATE TABLE IF NOT EXISTS `egw_emailadmin` (
`ea_profile_id` int(11) NOT NULL auto_increment,
`ea_smtp_server` varchar(80) default NULL,
`ea_smtp_type` int(11) default NULL,
`ea_smtp_port` int(11) default NULL,
`ea_smtp_auth` varchar(3) default NULL,
`ea_editforwardingaddress` varchar(3) default NULL,
`ea_smtp_ldap_server` varchar(80) default NULL,
`ea_smtp_ldap_basedn` varchar(200) default NULL,
`ea_smtp_ldap_admindn` varchar(200) default NULL,
`ea_smtp_ldap_adminpw` varchar(30) default NULL,
`ea_smtp_ldap_use_default` varchar(3) default NULL,
`ea_imap_server` varchar(80) default NULL,
`ea_imap_type` int(11) default NULL,
`ea_imap_port` int(11) default NULL,
`ea_imap_login_type` varchar(20) default NULL,
`ea_imap_tsl_auth` varchar(3) default NULL,
`ea_imap_tsl_encryption` varchar(3) default NULL,
`ea_imap_enable_cyrus` varchar(3) default NULL,
`ea_imap_admin_user` varchar(40) default NULL,
`ea_imap_admin_pw` varchar(40) default NULL,
`ea_imap_enable_sieve` varchar(3) default NULL,
`ea_imap_sieve_server` varchar(80) default NULL,
`ea_imap_sieve_port` int(11) default NULL,
`ea_description` varchar(200) default NULL,
`ea_default_domain` varchar(100) default NULL,
`ea_organisation_name` varchar(100) default NULL,
`ea_user_defined_accounts` varchar(3) default NULL,
`ea_imapoldcclient` varchar(3) default NULL,
`ea_order` int(11) default NULL,
`ea_appname` varchar(80) default NULL,
`ea_group` varchar(80) default NULL,
`ea_smtp_auth_username` varchar(80) default NULL,
`ea_smtp_auth_password` varchar(80) default NULL,
PRIMARY KEY (`ea_profile_id`),
KEY (`ea_appname`, `ea_group` )
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; 
et
 CREATE TABLE IF NOT EXISTS `egw_emailadmin` (
`ea_profile_id` int(11) NOT NULL auto_increment,
`ea_smtp_server` varchar(80) default NULL,
`ea_smtp_type` int(11) default NULL,
`ea_smtp_port` int(11) default NULL,
`ea_smtp_auth` varchar(3) default NULL,
`ea_editforwardingaddress` varchar(3) default NULL,
`ea_smtp_ldap_server` varchar(80) default NULL,
`ea_smtp_ldap_basedn` varchar(200) default NULL,
`ea_smtp_ldap_admindn` varchar(200) default NULL,
`ea_smtp_ldap_adminpw` varchar(30) default NULL,
`ea_smtp_ldap_use_default` varchar(3) default NULL,
`ea_imap_server` varchar(80) default NULL,
`ea_imap_type` int(11) default NULL,
`ea_imap_port` int(11) default NULL,
`ea_imap_login_type` varchar(20) default NULL,
`ea_imap_tsl_auth` varchar(3) default NULL,
`ea_imap_tsl_encryption` varchar(3) default NULL,
`ea_imap_enable_cyrus` varchar(3) default NULL,
`ea_imap_admin_user` varchar(40) default NULL,
`ea_imap_admin_pw` varchar(40) default NULL,
`ea_imap_enable_sieve` varchar(3) default NULL,
`ea_imap_sieve_server` varchar(80) default NULL,
`ea_imap_sieve_port` int(11) default NULL,
`ea_description` varchar(200) default NULL,
`ea_default_domain` varchar(100) default NULL,
`ea_organisation_name` varchar(100) default NULL,
`ea_user_defined_accounts` varchar(3) default NULL,
`ea_imapoldcclient` varchar(3) default NULL,
`ea_order` int(11) default NULL,
`ea_appname` varchar(80) default NULL,
`ea_group` varchar(80) default NULL,
`ea_smtp_auth_username` varchar(80) default NULL,
`ea_smtp_auth_password` varchar(80) default NULL,
PRIMARY KEY (`ea_profile_id`,
`ea_appname`,
`ea_group` )
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; 
3
AWare
 
Merci à toi "le père", sous ton conseil j'ai donc écris:


CREATE TABLE IF NOT EXISTS `egw_emailadmin` (
`ea_profile_id` int(11) NOT NULL auto_increment,
`ea_smtp_server` varchar(80) default NULL,
`ea_smtp_type` int(11) default NULL,
`ea_smtp_port` int(11) default NULL,
`ea_smtp_auth` varchar(3) default NULL,
`ea_editforwardingaddress` varchar(3) default NULL,
`ea_smtp_ldap_server` varchar(80) default NULL,
`ea_smtp_ldap_basedn` varchar(200) default NULL,
`ea_smtp_ldap_admindn` varchar(200) default NULL,
`ea_smtp_ldap_adminpw` varchar(30) default NULL,
`ea_smtp_ldap_use_default` varchar(3) default NULL,
`ea_imap_server` varchar(80) default NULL,
`ea_imap_type` int(11) default NULL,
`ea_imap_port` int(11) default NULL,
`ea_imap_login_type` varchar(20) default NULL,
`ea_imap_tsl_auth` varchar(3) default NULL,
`ea_imap_tsl_encryption` varchar(3) default NULL,
`ea_imap_enable_cyrus` varchar(3) default NULL,
`ea_imap_admin_user` varchar(40) default NULL,
`ea_imap_admin_pw` varchar(40) default NULL,
`ea_imap_enable_sieve` varchar(3) default NULL,
`ea_imap_sieve_server` varchar(80) default NULL,
`ea_imap_sieve_port` int(11) default NULL,
`ea_description` varchar(200) default NULL,
`ea_default_domain` varchar(100) default NULL,
`ea_organisation_name` varchar(100) default NULL,
`ea_user_defined_accounts` varchar(3) default NULL,
`ea_imapoldcclient` varchar(3) default NULL,
`ea_order` int(11) default NULL,
`ea_appname` varchar(80) default NULL,
`ea_group` varchar(80) default NULL,
`ea_smtp_auth_username` varchar(80) default NULL,
`ea_smtp_auth_password` varchar(80) default NULL,
PRIMARY KEY (`ea_profile_id`,
KEY `ea_appname`,
KEY `ea_group` )
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;




voici le nouveau message d'erreur qui s'affiche:

#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 'KEY `ea_appname`, KEY `ea_group` ) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO' at line 36
1
brudao Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   14
 
essaye ça au niveau de la partie primary key,
PRIMARY KEY (`ea_profile_id`,`ea_appname`, `ea_group` )

enleve tout simplement les key que tu mets
0
AWare
 
Essaye ça au niveau de la partie primary key,
PRIMARY KEY (`ea_profile_id`,`ea_appname`, `ea_group` )

enleve tout simplement les key que tu mets




Merci pour ta réponse brudao, j'ai donc essayer ce que tu me propose , maintenant j'ai le message d'erreur suivant :

#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 'ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2)' at line 36


Que faire?
0
snake-d12 Messages postés 218 Date d'inscription   Statut Membre Dernière intervention   57
 
je pense que vous travailler sous le mode console, c pourquoi je vous propose de travailler avec des assistant comme easyPhp, wampServer ou le mieux c "Toad for MySQL Freeware_4.1.0.220"
je vous rassure que c tré facile, performant et vous fera gagner du temps
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
Le problème est indépendant de sa méthode de connexion à la base, pourquoi lui faire changer d'outil ?

0
AWare > HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention  
 
Effectivement,

Bon j'en suis toujours au même point, je crois que je vais laisser tomber et creer cette table en utilisant l'autre méthode de PhpMyAdmin , cela va me prendre beaucoup de temps...

Merci à tous !
0

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

Posez votre question
AWare
 
Je pense que vous travailler sous le mode console, c pourquoi je vous propose de travailler avec des assistant comme easyPhp, wampServer ou le mieux c "Toad for MySQL Freeware_4.1.0.220"
je vous rassure que c tré facile, performant et vous fera gagner du temps


Bonjour Snake-d12 ,

Je ne travail pas en mode console bien que je sois sous un Linux. Je travaille sous APACHE , LAMPSERVER, avec phpMyAdmin .Je suis sous Ubuntu donc je ne peux pas travailler sous WAMPserver mais plutôt sous LAMPserver.

J'ai donc fais ce que brudao m'a conseillé et me voici cette fois avec ce message d'erreur:

#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 'ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2)' at line 36 .

merci pour vos réponses à tout les deux, je suis toujours à la recherche d'une solution.
0
Dr Zoidberg Messages postés 529 Date d'inscription   Statut Membre Dernière intervention   100
 
Pour moi :
...
`ea_smtp_auth_password` varchar(80) default NULL)
PRIMARY KEY (`ea_profile_id`,`ea_appname`,`ea_group` )
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2
0
AWare
 
Bonjoue Dr Zoidberg,

voici l'erreur qui s'affiche après avoir changé ma requête par ce que u me propose:

#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 'PRIMARY KEY (`ea_profile_id`,`ea_appname`,`ea_group` ) ENGINE=MyISAM DEFAULT CH' at line 35
0
le père
 
Bonjour

Tu ne fermes pas ta parenthèse au bon endroit :

ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2) à remplacer par

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2
0
le père
 
tu as toujours un problème avec tes keys :
PRIMARY KEY (`ea_profile_id`) INDEX (`ea_appname`,`ea_group`)
ou
PRIMARY KEY (`ea_profile_id`,`ea_appname`,`ea_group`)

ça dépend de ce que tu cherches à faire

(KEY tout court est synonyme de INDEX)
0
AWare
 
Rebonjour,

avec
PRIMARY KEY (`ea_profile_id`) INDEX (`ea_appname`,`ea_group`) 


le message d'erreur est le suivant :

#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 'INDEX (`ea_appname`,`ea_group`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_IN' at line 35.

et avec
PRIMARY KEY (`ea_profile_id`,`ea_appname`,`ea_group`) 
j'avais déja essayer , toujours un message d'erreur (voir post précedent).


En tout cas merci à tous pour votre aide , ne trouvant pas la réponse je vais laisser tomber et creer cette table en utilisant l'autre méthode de PhpMyAdmin ..Dommage!
0
le père
 
PRIMARY KEY (`ea_profile_id`) INDEX (`ea_appname`,`ea_group`)
il faut une virgule
PRIMARY KEY (`ea_profile_id`), INDEX (`ea_appname`,`ea_group`)
Tu as le droit de lire le manuel mysql toi aussi

PRIMARY KEY (`ea_profile_id`,`ea_appname`,`ea_group`)
j'avais déja essayer , toujours un message d'erreur (voir post précedent).

Lequel ?? je ne vois pas dans tes messages quand tu as essayé ceci depuis que la parenthèse est remise au bon endroit
0
steph240 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour

je dois recreéer une table sql (que j'ai supprimé par erreur) sur mon espace perso chez Free
1/puis je recuperer la table ci dessus et la copier pour mon espace (si oui comment fait - on ?)

2/ ayant un autre compte chez Free j'ai pu créer et sauvegarder une autre table
puis je la reuperer et l'importer sur mon premier compte ?
(j'ai bien tenté de l'importer ci mais aucune table na été créee )

merci
0