2009-07-17 4 views
3

J'ai deux tables dans lesquelles j'insère des enregistrements. J'utilise PHP pour exécuter la requête SQL pour effectuer l'opération. Lors de l'insertion, j'insère 10 000 nouveaux enregistrements dans deux tables. Une table termine le processus d'insertion avec succès sur toutes les opérations tandis que la deuxième table termine la première opération d'insertion mais arrête l'insertion sur la deuxième opération lorsqu'elle arrive à 6.384 elle arrête d'insérer de nouveaux enregistrements.enregistrement mysql ne dépassant pas 16 384

ci-dessous est la structure de table pour les deux tables:

CREATE TABLE `client_package` (
    `package_id` varchar(15) NOT NULL, 
    `client_id` int(11) NOT NULL, 
    `subaccount_id` int(11) NOT NULL, 
    `receiver_name` varchar(50) NOT NULL, 
    `receiver_address` varchar(100) NOT NULL, 
    `receiver_city` varchar(20) NOT NULL, 
    `receiver_state` int(3) NOT NULL, 
    `receiver_phone` varchar(20) NOT NULL, 
    `receiver_email` varchar(40) NOT NULL, 
    `shipment_date` varchar(15) NOT NULL, 
    `delivery_date` varchar(15) NOT NULL, 
    `item_type` varchar(30) NOT NULL, 
    `item_weight` varchar(20) NOT NULL, 
    `item_quantity` varchar(15) NOT NULL, 
    `package_status` int(3) NOT NULL, 
    `date` varchar(12) NOT NULL, 
    PRIMARY KEY (`package_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 


CREATE TABLE `package_tracking` (
    `id` int(11) NOT NULL auto_increment, 
    `package_id` varchar(15) NOT NULL, 
    `package_status` int(3) NOT NULL, 
    `package_note` varchar(100) NOT NULL, 
    `update_time` varchar(15) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; 

Le tableau me donne le problème est client_package. De plus, avant d'insérer un nouvel enregistrement dans la table client_package, je vérifie d'abord si l'ID de paquet généré existe déjà et si j'en ai un autre. Je ne sais pas si c'est ce qui cause le problème.

Merci d'avance.

+0

qui est-ce? Six ou seize K? (J'ai besoin de demander) – corlettk

+0

10.000 enregistrements insèrent correctement dans package_tracking (que je ne vérifie pas package_id) sans aucun problème. Si je télécharge ensuite de nouveaux enregistrements dans les deux tables, client_package n'acceptera pas de nouveaux enregistrements pendant que package_tracking accepte. suis vraiment confus. –

+0

Hey War Coder. Je veux vous aider, mais cela demande quelques éclaircissements. Pouvez-vous fournir les requêtes que vous utilisez pour insérer des données dans ces tables? Combien d'enregistrements sont correctement insérés? 6 384 ou 16 384? Cela a été demandé dans les commentaires, mais votre réponse a ajouté plus d'ambiguïté. Quelles erreurs obtenez-vous de PHP/MySQL quand vous essayez cela? Merci. – hobodave

Répondre

0

Il y a quelques problèmes avec l'importation de beaucoup de données avec php. Je n'ai pas eu l'expérience de ce genre avec seulement 16k, mais il y a souvent quelque chose qui ne va pas. un programme php qui s'appelle "mysqldumper" s'est bien passé pour moi, mais le meilleur moyen qui a toujours fonctionné est d'importer directement via le mysql comandline

Questions connexes