MySQL : create table [Résolu/Fermé]

- - Dernière réponse : steph240
Messages postés
15
Date d'inscription
mercredi 9 juillet 2008
Statut
Membre
Dernière intervention
3 novembre 2011
- 8 janv. 2010 à 10:56
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?
Afficher la suite 

11 réponses

Meilleure réponse
3
Merci
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 ; 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62654 internautes nous ont dit merci ce mois-ci

1
Merci
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
Messages postés
528
Date d'inscription
samedi 10 février 2007
Statut
Membre
Dernière intervention
9 août 2017
13
0
Merci
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
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?
Messages postés
218
Date d'inscription
mardi 2 juin 2009
Statut
Membre
Dernière intervention
25 septembre 2009
56
0
Merci
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
HostOfSeraphim
Messages postés
6800
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1218 -
Le problème est indépendant de sa méthode de connexion à la base, pourquoi lui faire changer d'outil ?

> HostOfSeraphim
Messages postés
6800
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
-
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
Merci
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.
Messages postés
533
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 juin 2015
97
0
Merci
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
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
Merci
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
Merci
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
Merci
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
Merci
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
Messages postés
15
Date d'inscription
mercredi 9 juillet 2008
Statut
Membre
Dernière intervention
3 novembre 2011
0
Merci
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