erreur base mysql

donatello
Invité n'ayant pas de compte PHPfrance

06 oct. 2005, 13:26

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?

ViPHP
ViPHP | 1380 Messages

06 oct. 2005, 13:28

Il nous faut plus de détails. Version MySQL, requête complète ?
ripat

Invité
Invité n'ayant pas de compte PHPfrance

06 oct. 2005, 13:28

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 ;

Invité
Invité n'ayant pas de compte PHPfrance

06 oct. 2005, 13:29

je suis sur easyphp 1.8

ViPHP
ViPHP | 1380 Messages

06 oct. 2005, 13:35

je suis sur easyphp 1.8
Et quelle version du serveur MySQL ?
ripat

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 oct. 2005, 13:36

Tu as l'erreur en local ou bien chez ton hebergeur ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

06 oct. 2005, 13:38

salut, il me semble qu'il ne faut pas mettre ceci "DEFAULT CHARSET=latin1" il doit comprendre par lui meme.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

06 oct. 2005, 13:40

pas d'erreur en local uniquement chez hebergeur (hosteur.com)
je vais tenter de supprimer la ligne

Mammouth du PHP | 19672 Messages

06 oct. 2005, 13:42

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;
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 1380 Messages

06 oct. 2005, 13:42

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.
ripat

Invité
Invité n'ayant pas de compte PHPfrance

06 oct. 2005, 14:03

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...

Invité
Invité n'ayant pas de compte PHPfrance

06 oct. 2005, 14:11

est ce que ça marcherait en enlevant carrément la mention du type de table?

Invité
Invité n'ayant pas de compte PHPfrance

06 oct. 2005, 14:12

est ce que ça marcherait en enlevant carrément la mention du type de table?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

06 oct. 2005, 14:17

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:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

06 oct. 2005, 15:25

ok, chez mon hébergeur (hosteur.com) faut mettre

Code : Tout sélectionner

TYPE = MYISAM;
merci pour les conseils.