IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MySQL Discussion :

Certaines lignes sont supprimées.


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2022
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2022
    Messages : 61
    Par défaut Certaines lignes sont supprimées.
    Bonjour,

    J'utilise ma base de données depuis des années, et aujourd'hui je suis confronté à un problème que je ne comprends pas.

    Lorsque je lis une table T1 , que j'écris les mêmes lignes dans dans une table T2, les deux tables ont même structure), après l'exécution du programme test (en Java), je relance mon application et je m'aperçois que plusieurs lignes on été supprimées dans la table T1. Cette base fait environ 80 Méga-Octets.

    Voici une impression avant l’exécution d'un programme d'application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SL color = java.awt.Color[r=0,g=0,b=255]
    FG color = java.awt.Color[r=255,g=255,b=255]
    CD color = java.awt.Color[r=204,g=204,b=204]
    RL color = java.awt.Color[r=0,g=0,b=255]
    PN color = java.awt.Color[r=0,g=0,b=255] pour Accueil.ListeFilms
    BG color = java.awt.Color[r=51,g=51,b=51]
    j’exécute le programme ci-dessous, puis je relance mon application.

    et voici l"impression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PN color = java.awt.Color[r=0,g=0,b=255] pour Accueil.ListeFilms
    RL color = java.awt.Color[r=0,g=0,b=255]
    Comme vous le constatez 4 lignes ne sont plus imprimées (en réalité beaucoup plus, mais j'avais limité le traçage).


    J'ai pensé que ma base (ou tout au moins cette table) était corrompue, j'ai donc exécuté

    "mysqlcheck --auto-repair MaBase"

    et aucun problème n'a été détecté.


    Merci d'avance pour tout commentaire.

    Gérard

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
     
    package patches;
     
    /* 
     * Auteur: Gérard MARTINELLI
     */
     
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import cinephil.Common;
     
    public class Patch26
    {
    		private static 	Connection 	cnx 		= 	null;
     
    		public static void exécuter()
    		{
    			connect();
    			try
    			{
    				Statement 	stmt1  	= cnx.createStatement();
    				Statement 	stmt2  	= cnx.createStatement();
    			 	String 		req   	= "Select * from  Parametres Order by clef";
     
    			 	ResultSet 	rs 		= stmt1.executeQuery(req); 
     
    				while (rs.next())
    				{
    					String clef 		=	rs.getString("Clef");
    					String type 		=  	rs.getString("Type");
    					String mode 		=  	rs.getString("Mode");
    					String couleur 		= 	rs.getString("Couleur");
    					String fichier 		= 	rs.getString("Nom_Fichier");
    					String police		=	rs.getString("Nom_Police");
    					String attributs 	=	rs.getString("Attributs"); 
    					int    taille 		=   rs.getInt("Taille_Police");
     
    					String requete  	= "INSERT INTO  Parametre2 SET ";
    						   requete 		+=  " Clef			='" + clef + "', "   	;
    						   requete 		+=  " Type			='" + type + "', "   	; 
    						   requete 		+=  " Mode			='" + mode + "', "  	; 
    						   requete 		+=  " Couleur		='" + couleur + "', "   ; 
    						   requete 		+=  " Nom_Fichier	='" + fichier + "', "   ; 
    						   requete 		+=  " Nom_Police 	='" + police + "', "   	; 
    						   requete 		+=  " Attributs		='" + attributs  + "', "; 
    						   requete 		+=  " Taille_Police	="  +  taille   ; 
     
    					stmt2.executeUpdate(requete);					
    				}
    				rs.close();
    				stmt1.close();
    				stmt2.close();
    				cnx.close();
    			} 
    			catch (SQLException e) 	{ e.printStackTrace();}
    		}
     
    		public static void connect()
    		{
    			if (Common.creationConnexion() < 0)	return;
    			cnx = Common.cnx;
    		}
     
    		public static void main(String[] args)
    		{
    			  Patch26.exécuter();
    			  System.out.println("Terminé");
    		}
    }

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 485
    Par défaut
    Bonjour,
    Est-ce qu'il y a u trigger sur la table de destination ?
    Sinon tu peux optimiser ton code, avec une seule requête et sans boucle:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    insert into Parametre2 (Clef,Type,Mode,Couleur,Nom_Fichier,Nom_Police,Attributs,Taille_Police)
    select Clef,Type,Mode,Couleur,Nom_Fichier,Nom_Police,Attributs,Taille_Police from parametre

    Tatayo.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2022
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2022
    Messages : 61
    Par défaut
    Merci pour ta réponse, mais en fait dans quelques cas, je dois modifier la clef (problème de migration).

    Ceci étant dit je viens de refaire quelques tests et cela à l'air d'être beaucoup mieux alors que je planche sur ce problème depuis 3 jours. Mystère !!!!
    Si cela continue je clôturerai ce post.

    Amicalement

    Gérard

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    981
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 981
    Par défaut
    Citation Envoyé par GGMARTINELLI Voir le message
    Merci pour ta réponse, mais en fait dans quelques cas, je dois modifier la clef (problème de migration).
    Bonsoir,
    Si les "cas" sont clairement identifiés => utiliser une clause where pour traiter les 80% et voir si les 20% restants peuvent être résolus par une requête supplémentaire (avec une clause Where inverse)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [E-03] Supprimer certaines lignes d'un fichier
    Par kokoVBA dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/02/2009, 18h10
  2. Lors de la suppression de lignes, certaines lignes sont "oubliées"
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/12/2008, 13h47
  3. Réponses: 5
    Dernier message: 19/06/2008, 19h26
  4. Retourné des lignes dont certains champs sont vides
    Par griese dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/06/2006, 11h23
  5. Supprimer certaines lignes d'un fichier texte
    Par kek_net dans le forum Langage
    Réponses: 2
    Dernier message: 10/04/2006, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo