8797 sujets

Développement web côté serveur, CMS

Bonjour,
Voila mon probleme :
J'ai une suite de requetes qui ressemble à ca :


TRUNCATE TABLE `Table`;
INSERT INTO `Table` (`champs_1`, `champs_2`, `champs_3`, `champs_4`, `champs_5`) VALUES
('Valeur', 'Valeur', 'Valeur', 'Valeur', 'Valeur'),
('Valeur', 'Valeur', 'Valeur', 'Valeur', 'Valeur'),
('Valeur', 'Valeur', 'Valeur', 'Valeur', 'Valeur');


J'enregistre les requetes dans un fichier.sql
et ensuite j'essai de l'importer par phpMyAdmin.

C'est la que ca coince, "Time limit exceeded" pourtant mon fichier ne contient au final "que" 2900 lignes, ce que phpMyAdmin sait tres bien géré en temps normal.

Mes requetes on l'air de ne pas etre comprises, pourtant il me semble qu'elles sont correctes.
J'aimerais donc savoir d'ou peu bien venir l'erreur et aussi savoir si l'insert multiple est compatible avec toutes les version de mySQL

MErci d'avance :]

P.S :
a écrit :
Version du client MySQL: 5.0.51a

Modifié par Yuk! (21 Sep 2008 - 23:57)
Administrateur
Je ne pense pas qu'il s'agisse d'une incompatibilité, sinon tu obtiendrais un autre message d'erreur.
Si Time limit exceeded se produit, alors c'est vraiment que l'instruction en elle-même nécessite trop de temps. Tu peux toujours modifier la conf de PHP (si tu y as accès) pour augmenter la valeur limite.

Mais il se peut que cela provienne de la reconstruction de l'index si la table est énorme (ou mal conçue).
Essaie peut-être de faire un lock table avant l'insertion.
Ou de décomposer cet insert multiple en plusieurs instructions indépendantes...