Modifier une table SQL

lachaiseduroi Messages postés 14 Date d'inscription dimanche 9 octobre 2005 Statut Membre Dernière intervention 12 décembre 2008 - 10 déc. 2008 à 18:31
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 15 déc. 2008 à 18:29
Bonjour,

Je dois incorporé dans ma table ville toutes les villes de France par ordre alphabétique.
Voici ma table

DROP TABLE IF EXISTS `villes`;
CREATE TABLE `villes` (
  `id` int(11) NOT NULL auto_increment,
  `Nom` varchar(255) default NULL,
  `Region` int(11) default NULL,
  PRIMARY KEY  (`id`),
  KEY `Region` (`Region`),
  CONSTRAINT `villes_ibfk_1` FOREIGN KEY (`Region`) REFERENCES `regions` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

Je voudrais insérer des données dans ma table de la façon suivante :

INSERT INTO 'villes' VALUES ( 1000, 'AAST','Aucune');
INSERT INTO 'villes' VALUES ( '', 'ABAINVILLE','Aucune');

Sur Internet j'ai récupéré un fichier code-post.sql qui est composé de la façon suivante :

CREATE TABLE `cp` (
  `CP` varchar(5) NOT NULL default '',
  `Ville` varchar(50) NOT NULL default '',
  `Pays` varchar(40) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `cp` (`CP`, `Ville`, `Pays`) VALUES ('64460', 'AAST', 'FRANCE');
INSERT INTO `cp` (`CP`, `Ville`, `Pays`) VALUES ('55130', 'ABAINVILLE', 'FRANCE');

Cette table ne correspond pas à la mienne, j'ai réussi a modifier certain champs par remplacer par (exemple cp par ville) mais d'autre ne fonctionne pas et les changer à la main serait trop long (46000 champs * par 4 tables). Dans cette table je veux changer l'ID et dans 3 autres tables je veux changer d'autres champs. Comment faire une petite programmation pour que je puisse modifier cette table dans le format que je désire.

Merci de votre aide

4 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 déc. 2008 à 22:02
Salut

Tes requetes semblent fauses,
INSERT INTO 'villes' VALUES ( 1000, 'AAST','Aucune');
INSERT INTO 'villes' VALUES ( '', 'ABAINVILLE','Aucune');

-->
INSERT INTO villes (Nom,Region) VALUES ( 'AAST','Aucune');
INSERT INTO `villes` (`Nom`,`region`)VALUES ( 'ABAINVILLE','Aucune');

Le caractere ` est utilisé pour gerer les caracteres comme espace.

Apres pour le reste,
tu peux le faire avec un fichier excel par exemple ou un petit programme.

Bon dev
0
lachaiseduroi Messages postés 14 Date d'inscription dimanche 9 octobre 2005 Statut Membre Dernière intervention 12 décembre 2008
12 déc. 2008 à 19:47
Merci pour tes infos mais ce genre de requête fonctionne. Je recherche un programme ou un début de programme qui me permette de modifier automatiquement un fichier sql
0
ed73 Messages postés 276 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 avril 2013 2
15 déc. 2008 à 11:54
Quand j'ai ce genre de chose à faire, j'utilise tout simplement Excel. Ce n'est pas la peine de se casser la tête à faire un programme pour un truc qui ne servira qu'une fois. Les fonctions d'extraction et de remplacement de texte suffisent largement.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
15 déc. 2008 à 18:29
C'est ce j'ai indiqué excel est tres rapide pour faire des jeux de tests
apres tu fais une procédure stockée qui prends n parametre qui remplit les n tables par exemples
0
Rejoignez-nous