Page 1 sur 2

erreur base mysql

Posté : 06 oct. 2005, 13:26
par donatello
bonjour à tous,
j'essaye de créer un base de données mysql chez mon hébergeur.
en insérant les requêtes, j'obtiens l'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 'DEFAULT CHARSET=latin1 AUTO_INCREMENT=2' at line 17
pourquoi cette erreur?

Posté : 06 oct. 2005, 13:28
par Ripat
Il nous faut plus de détails. Version MySQL, requête complète ?

Posté : 06 oct. 2005, 13:28
par Invité
la ligne incriminée se trouve à la fin de ce code sql
CREATE TABLE `address_book` (
`address_book_id` int(11) NOT NULL auto_increment,
`customers_id` int(11) NOT NULL default '0',
`entry_gender` char(1) NOT NULL default '',
`entry_company` varchar(32) default NULL,
`entry_firstname` varchar(32) NOT NULL default '',
`entry_lastname` varchar(32) NOT NULL default '',
`entry_street_address` varchar(64) NOT NULL default '',
`entry_suburb` varchar(32) default NULL,
`entry_postcode` varchar(10) NOT NULL default '',
`entry_city` varchar(32) NOT NULL default '',
`entry_state` varchar(32) default NULL,
`entry_country_id` int(11) NOT NULL default '0',
`entry_zone_id` int(11) NOT NULL default '0',
PRIMARY KEY (`address_book_id`),
KEY `idx_address_book_customers_id` (`customers_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

Posté : 06 oct. 2005, 13:29
par Invité
je suis sur easyphp 1.8

Posté : 06 oct. 2005, 13:35
par Ripat
je suis sur easyphp 1.8
Et quelle version du serveur MySQL ?

Posté : 06 oct. 2005, 13:36
par zeus
Tu as l'erreur en local ou bien chez ton hebergeur ?

Posté : 06 oct. 2005, 13:38
par Truc
salut, il me semble qu'il ne faut pas mettre ceci "DEFAULT CHARSET=latin1" il doit comprendre par lui meme.

Posté : 06 oct. 2005, 13:40
par Invité
pas d'erreur en local uniquement chez hebergeur (hosteur.com)
je vais tenter de supprimer la ligne

Posté : 06 oct. 2005, 13:42
par Cyrano
C'est la version MySQL de ton hébergeur qu'il faudrait. Si jamais il est encore avec la 3.23, il va falloir faire du nettoyage dans la requête de création et faire plutôt quelque chose comme ceci:

Code : Tout sélectionner

CREATE TABLE `address_book` ( `address_book_id` int(11) NOT NULL auto_increment, `customers_id` int NOT NULL default '0', `entry_gender` char(1) NOT NULL default '', `entry_company` varchar(32) default NULL, `entry_firstname` varchar(32) NOT NULL default '', `entry_lastname` varchar(32) NOT NULL default '', `entry_street_address` varchar(64) NOT NULL default '', `entry_suburb` varchar(32) default NULL, `entry_postcode` varchar(10) NOT NULL default '', `entry_city` varchar(32) NOT NULL default '', `entry_state` varchar(32) default NULL, `entry_country_id` int NOT NULL default '0', `entry_zone_id` int NOT NULL default '0', PRIMARY KEY (`address_book_id`), KEY `idx_address_book_customers_id` (`customers_id`) ) TYPE MyISAM;

Posté : 06 oct. 2005, 13:42
par Ripat
salut, il me semble qu'il ne faut pas mettre ceci "DEFAULT CHARSET=latin1" il doit comprendre par lui meme.
DEFAULT CHARSET est un paramètre valide mais seulement à partir des versions 4.1 de MySQL il me semble.

Posté : 06 oct. 2005, 14:03
par Invité
la version mysql de mon hébergeur: 4.0.25-standard-log

A priori, même en mettant
TYPE MyISAM ;
j'obtiens la même erreur...

Posté : 06 oct. 2005, 14:11
par Invité
est ce que ça marcherait en enlevant carrément la mention du type de table?

Posté : 06 oct. 2005, 14:12
par Invité
est ce que ça marcherait en enlevant carrément la mention du type de table?

Posté : 06 oct. 2005, 14:17
par Truc
si tu veut etre sur du type qu'il faut mettre exporte une table depuis l'hébergeur et tu vera ce qu'il faut mettre. :wink:

Posté : 06 oct. 2005, 15:25
par Invité
ok, chez mon hébergeur (hosteur.com) faut mettre

Code : Tout sélectionner

TYPE = MYISAM;
merci pour les conseils.