nombre de champ dans une table MYSQL

Eléphant du PHP | 69 Messages

19 févr. 2009, 01:12

Bonsoir,

Combien peut on mettre de champ (au maximum) dans une table mysql.

Voilà, j'ai creer une table "Partie" avec " 172 champs".

Alors, j'avais pas fait attention mais maintenant, j'ai un big message d'erreur
Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 2359316 bytes) in /home/phpmyadmin/www/navigation.php on line 83
Je me suis rendu compte de tout ça lorsque j'ai commencé à faire de l'import dans ma table.

Je comprends plus :cry:

Merci d'avance pour vos aides :wink:
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink:

ViPHP
AB
ViPHP | 5818 Messages

19 févr. 2009, 01:31

Si l'on en croit cet article on peut avoir minimum 2000 colonnes.

Mais d'après ton message d'erreur ce n'est pas le nombre de colonnes qui pose souci mais la taille de la mémoire utilisée. Essais de faire ton import en plusieurs fois.

Eléphant du PHP | 69 Messages

19 févr. 2009, 09:03

Bonjour,

Quand tu parles de "colonne", tu veux dire les "champs" ??

Oui je vais essayer avec moins de données lors de l'import. Je te tiens au courant :)

Bon voilà, j'ai essayé et j'ai un autres messages d'erreur
Erreur

requête SQL:

-- -- Base de données: `chess32` -- -- -------------------------------------------------------- -- -- Structure de la table `partie` -- CREATE TABLE IF NOT EXISTS `partie` ( `Event` varchar(80) NOT NULL, `Site` varchar(50) NOT NULL, `Date` date NOT NULL, `Round` varchar(2) NOT NULL, `White` varchar(70) NOT NULL, `Black` varchar(70) NOT NULL, `Result_White` varchar(1) NOT NULL, `Result_Black` varchar(1) NOT NULL, `ECO` varchar(4) NOT NULL, `White_Elo` varchar(4) NOT NULL, `Black_Elo` varchar(4) NOT NULL, `Ply_Count` varchar(3) NOT NULL, `1w` varchar(8) NOT NULL, `1b` varchar(8) NOT NULL, `2w` varchar(8) NOT NULL, `2b` varchar(8) NOT NULL, `3w` varchar(8) NOT NULL, `3b` varchar(8) NOT NULL, `4w` varchar(8) NOT NULL, `4b` varchar(8) NOT NULL, `5w` varchar(8) NOT NULL, `5b` varchar(8) NOT NULL, `6w` varchar(8) NOT NULL, `6b` varchar(8) NOT NULL, `7w` varchar(8) NOT NULL, `7b` varchar(8) NOT NULL[...]

MySQL a répondu:Documentation
#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' at line 181
Et le fichier que j'importe correspond à ceci.
-- phpMyAdmin SQL Dump
-- version 3.1.0
-- http://www.phpmyadmin.net
--
-- Serveur: sql2.power-heberg.net
-- Généré le : Mar 17 Février 2009 à 23:22
-- Version du serveur: 5.0.32
-- Version de PHP: 5.2.0-8+etch13

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de données: `chess32`
--

-- --------------------------------------------------------

--
-- Structure de la table `partie`
--

CREATE TABLE IF NOT EXISTS `partie` (
`Event` varchar(80) NOT NULL,
`Site` varchar(50) NOT NULL,
`Date` date NOT NULL,
`Round` varchar(2) NOT NULL,
`White` varchar(70) NOT NULL,
`Black` varchar(70) NOT NULL,
`Result_White` varchar(1) NOT NULL,
`Result_Black` varchar(1) NOT NULL,
`ECO` varchar(4) NOT NULL,
`White_Elo` varchar(4) NOT NULL,
`Black_Elo` varchar(4) NOT NULL,
`Ply_Count` varchar(3) NOT NULL,
`1w` varchar(8) NOT NULL,
`1b` varchar(8) NOT NULL,
`2w` varchar(8) NOT NULL,
`2b` varchar(8) NOT NULL,
`3w` varchar(8) NOT NULL,
`3b` varchar(8) NOT NULL,
`4w` varchar(8) NOT NULL,
`4b` varchar(8) NOT NULL,
`5w` varchar(8) NOT NULL,
`5b` varchar(8) NOT NULL,
`6w` varchar(8) NOT NULL,
`6b` varchar(8) NOT NULL,
`7w` varchar(8) NOT NULL,
`7b` varchar(8) NOT NULL,
`8w` varchar(8) NOT NULL,
`8b` varchar(8) NOT NULL,
`9w` varchar(8) NOT NULL,
`9b` varchar(8) NOT NULL,
`10w` varchar(8) NOT NULL,
`10b` varchar(8) NOT NULL,
`11w` varchar(8) NOT NULL,
`11b` varchar(8) NOT NULL,
`12w` varchar(8) NOT NULL,
`12b` varchar(8) NOT NULL,
`13w` varchar(8) NOT NULL,
`13b` varchar(8) NOT NULL,
`14w` varchar(8) NOT NULL,
`14b` varchar(8) NOT NULL,
`15w` varchar(8) NOT NULL,
`15b` varchar(8) NOT NULL,
`16w` varchar(8) NOT NULL,
`16b` varchar(8) NOT NULL,
`17w` varchar(8) NOT NULL,
`17b` varchar(8) NOT NULL,
`18w` varchar(8) NOT NULL,
`18b` varchar(8) NOT NULL,
`19w` varchar(8) NOT NULL,
`19b` varchar(8) NOT NULL,
`20w` varchar(8) NOT NULL,
`20b` varchar(8) NOT NULL,
`21w` varchar(8) NOT NULL,
`21b` varchar(8) NOT NULL,
`22w` varchar(8) NOT NULL,
`22b` varchar(8) NOT NULL,
`23w` varchar(8) NOT NULL,
`23b` varchar(8) NOT NULL,
`24w` varchar(8) NOT NULL,
`24b` varchar(8) NOT NULL,
`25w` varchar(8) NOT NULL,
`25b` varchar(8) NOT NULL,
`26w` varchar(8) NOT NULL,
`26b` varchar(8) NOT NULL,
`27w` varchar(8) NOT NULL,
`27b` varchar(8) NOT NULL,
`28w` varchar(8) NOT NULL,
`28b` varchar(8) NOT NULL,
`29w` varchar(8) NOT NULL,
`29b` varchar(8) NOT NULL,
`30w` varchar(8) NOT NULL,
`30b` varchar(8) NOT NULL,
`31w` varchar(8) NOT NULL,
`31b` varchar(8) NOT NULL,
`32w` varchar(8) NOT NULL,
`32b` varchar(8) NOT NULL,
`33w` varchar(8) NOT NULL,
`33b` varchar(8) NOT NULL,
`34w` varchar(8) NOT NULL,
`34b` varchar(8) NOT NULL,
`35w` varchar(8) NOT NULL,
`35b` varchar(8) NOT NULL,
`36w` varchar(8) NOT NULL,
`36b` varchar(8) NOT NULL,
`37w` varchar(8) NOT NULL,
`37b` varchar(8) NOT NULL,
`38w` varchar(8) NOT NULL,
`38b` varchar(8) NOT NULL,
`39w` varchar(8) NOT NULL,
`39b` varchar(8) NOT NULL,
`40w` varchar(8) NOT NULL,
`40b` varchar(8) NOT NULL,
`41w` varchar(8) NOT NULL,
`41b` varchar(8) NOT NULL,
`42w` varchar(8) NOT NULL,
`42b` varchar(8) NOT NULL,
`43w` varchar(8) NOT NULL,
`43b` varchar(8) NOT NULL,
`44w` varchar(8) NOT NULL,
`44b` varchar(8) NOT NULL,
`45w` varchar(8) NOT NULL,
`45b` varchar(8) NOT NULL,
`46w` varchar(8) NOT NULL,
`46b` varchar(8) NOT NULL,
`47w` varchar(8) NOT NULL,
`47b` varchar(8) NOT NULL,
`48w` varchar(8) NOT NULL,
`48b` varchar(8) NOT NULL,
`49w` varchar(8) NOT NULL,
`49b` varchar(8) NOT NULL,
`50w` varchar(8) NOT NULL,
`50b` varchar(8) NOT NULL,
`51w` varchar(8) NOT NULL,
`51b` varchar(8) NOT NULL,
`52w` varchar(8) NOT NULL,
`52b` varchar(8) NOT NULL,
`53w` varchar(8) NOT NULL,
`53b` varchar(8) NOT NULL,
`54w` varchar(8) NOT NULL,
`54b` varchar(8) NOT NULL,
`55w` varchar(8) NOT NULL,
`55b` varchar(8) NOT NULL,
`56w` varchar(8) NOT NULL,
`56b` varchar(8) NOT NULL,
`57w` varchar(8) NOT NULL,
`57b` varchar(8) NOT NULL,
`58w` varchar(8) NOT NULL,
`58b` varchar(8) NOT NULL,
`59w` varchar(8) NOT NULL,
`59b` varchar(8) NOT NULL,
`60w` varchar(8) NOT NULL,
`60b` varchar(8) NOT NULL,
`61w` varchar(8) NOT NULL,
`61b` varchar(8) NOT NULL,
`62w` varchar(8) NOT NULL,
`62b` varchar(8) NOT NULL,
`63w` varchar(8) NOT NULL,
`63b` varchar(8) NOT NULL,
`64w` varchar(8) NOT NULL,
`64b` varchar(8) NOT NULL,
`65w` varchar(8) NOT NULL,
`65b` varchar(8) NOT NULL,
`66w` varchar(8) NOT NULL,
`66b` varchar(8) NOT NULL,
`67w` varchar(8) NOT NULL,
`67b` varchar(8) NOT NULL,
`68w` varchar(8) NOT NULL,
`68b` varchar(8) NOT NULL,
`69w` varchar(8) NOT NULL,
`69b` varchar(8) NOT NULL,
`70w` varchar(8) NOT NULL,
`70b` varchar(8) NOT NULL,
`71w` varchar(8) NOT NULL,
`71b` varchar(8) NOT NULL,
`72w` varchar(8) NOT NULL,
`72b` varchar(8) NOT NULL,
`73w` varchar(8) NOT NULL,
`73b` varchar(8) NOT NULL,
`74w` varchar(8) NOT NULL,
`74b` varchar(8) NOT NULL,
`75w` varchar(8) NOT NULL,
`75b` varchar(8) NOT NULL,
`76w` varchar(8) NOT NULL,
`76b` varchar(8) NOT NULL,
`77w` varchar(8) NOT NULL,
`77b` varchar(8) NOT NULL,
`78w` varchar(8) NOT NULL,
`78b` varchar(8) NOT NULL,
`79w` varchar(8) NOT NULL,
`79b` varchar(8) NOT NULL,
`80w` varchar(8) NOT NULL,
`80b` varchar(8) NOT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `partie`
--

INSERT INTO `partie` (`Event`, `Site`, `Date`, `Round`, `White`, `Black`, `Result_White`, `Result_Black`, `ECO`, `White_Elo`, `Black_Elo`, `Ply_Count`, `1w`, `1b`, `2w`, `2b`, `3w`, `3b`, `4w`, `4b`, `5w`, `5b`, `6w`, `6b`, `7w`, `7b`, `8w`, `8b`, `9w`, `9b`, `10w`, `10b`, `11w`, `11b`, `12w`, `12b`, `13w`, `13b`, `14w`, `14b`, `15w`, `15b`, `16w`, `16b`, `17w`, `17b`, `18w`, `18b`, `19w`, `19b`, `20w`, `20b`, `21w`, `21b`, `22w`, `22b`, `23w`, `23b`, `24w`, `24b`, `25w`, `25b`, `26w`, `26b`, `27w`, `27b`, `28w`, `28b`, `29w`, `29b`, `30w`, `30b`, `31w`, `31b`, `32w`, `32b`, `33w`, `33b`, `34w`, `34b`, `35w`, `35b`, `36w`, `36b`, `37w`, `37b`, `38w`, `38b`, `39w`, `39b`, `40w`, `40b`, `41w`, `41b`, `42w`, `42b`, `43w`, `43b`, `44w`, `44b`, `45w`, `45b`, `46w`, `46b`, `47w`, `47b`, `48w`, `48b`, `49w`, `49b`, `50w`, `50b`, `51w`, `51b`, `52w`, `52b`, `53w`, `53b`, `54w`, `54b`, `55w`, `55b`, `56w`, `56b`, `57w`, `57b`, `58w`, `58b`, `59w`, `59b`, `60w`, `60b`, `61w`, `61b`, `62w`, `62b`, `63w`, `63b`, `64w`, `64b`, `65w`, `65b`, `66w`, `66b`, `67w`, `67b`, `68w`, `68b`, `69w`, `69b`, `70w`, `70b`, `71w`, `71b`, `72w`, `72b`, `73w`, `73b`, `74w`, `74b`, `75w`, `75b`, `76w`, `76b`, `77w`, `77b`, `78w`, `78b`, `79w`, `79b`, `80w`, `80b`) VALUES
(`CD de Muret / Condom 3`, `?`, `2009.??.??`, `5`, `Woloszyn Florent`, `Duffau Alain`, `1`, `0`, `D02`, `1987`, `1499`, `17`, `d4`, `d5`, `Cf3`, `f5`, `Ce5`, `g6`, `e3`, `c5`, `c4`, `dxc4`, `Fxc4`, `Fg7`, `Ff7+`, `Rf8`, `Db3`, `h5`, `Cxg6#`);
J'ai regardé et je vois pas ou j'aurais oublié l'espace ou la paranthèse ou l'apostrophe et ou la virgule. :cry:

Merci pour l'aide
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink:

ViPHP
AB
ViPHP | 5818 Messages

20 févr. 2009, 00:00

Oui effectivement je parlais de champs.

Sinon essayes de faire ton exportation en utilisant phpmyadmin et sa fonction Exporter en limitant le nombre de champs. Cela devrait te donner une requête sans fautes.

Eléphant du PHP | 69 Messages

20 févr. 2009, 01:11

Merci

Je pense avoir compris l'erreur, qui venait de mon non savoir de cette gestion de base.
J'ai fait plein d'essai et de recherche, et j'ai réussi à avoir quelques chose de correct.

Maintenant je vais mettre en pratique ce que je viens d'apprendre :wink: ; en espérant que j'ai bien compris :lol:

Sinon pour expliquer vite fait, mes tables vont jusqu'à "80b" ce qui me fait 171 tables au total.
(`CD de Muret / Condom 3`, `?`, `2009.??.??`, `5`, `Woloszyn Florent`, `Duffau Alain`, `1`, `0`, `D02`, `1987`, `1499`, `17`, `d4`, `d5`, `Cf3`, `f5`, `Ce5`, `g6`, `e3`, `c5`, `c4`, `dxc4`, `Fxc4`, `Fg7`, `Ff7+`, `Rf8`, `Db3`, `h5`, `Cxg6#`);
Sur cette ligne, en fait il me manque après
`Cxg6#`
des apostrophes (je sais pas comment on dit dans ce langage) comme ceci `` de façon à aller juqu'à la table 171

J'espere que je me suis fait comprendre :wink:

J'essaie demain et je vous tiens au courant
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink:

Eléphant du PHP | 69 Messages

21 févr. 2009, 10:16

Salut tout le monde

Ben c'était ça. J'avais bien vu

Merci encore pour les infos :wink:

A+
chris
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink: