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

JDBC Java Discussion :

[HSQL] Modifier une table, est ce que je fais une betise ?


Sujet :

JDBC Java

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut [HSQL] Modifier une table, est ce que je fais une betise ?
    Oyé
    voila j'utilise une base de donnée HSQL, et je crois que je dois faire un peu de la merde en fait.
    J'ai déjà quelques données dans cette base, mais je dois actuellement modifier certaines tables afin de rajouter des champs.
    Alors pour cela bah je vais connemment dans le fichier .script de ma base, et je rajoute à la main les colonnes dans la requête de création de la table. Mais problème, hé, c'est que comme je les insères au milieu d'autre, bah après mes colonnes sont décallé et, lorsque le fichier .script est executé, et que les anciennes données sont insérer, elles ne sont pas mise au bonne endroit ce qui a pour effet de bien tous faire couiller.
    Comme je ne suis pas sur d'etre claire, j'ai par exemple ceci

    CREATE TABLE1 (C1 ENTIER, C2 CHAR)
    INSERT TABLE1 VALUES (1, A)

    Je fais ma modification en insérant le colonne C3 entre C1 et C2.

    CREATE TABLE1 (C1 ENTIER, C3 ENTIER, C2 CHAR)
    INSERT TABLE1 VALUES (1, A)

    Et là bah ca ne va plus puisque ca va insérer mon caractere A dans la colonne C3 (ce qui va de surcroit générer une erreur de format d'int).

    Alors vous allez me dire, "mais qu'est ce quelle est l'intérêt d'inserer une colonne C3 entre 1 et 2 ? Il a qu'a la mettre à la fin et puis voila".
    Bah aucun à priori, j'ai juste remarqué ceci car les colonnes que je veux insérer corespondent à des clé étrangères, et je voulais les ordonner un peu. Je suis d'accord que cela n'a pas vraiment d'importance, et que je peux tout à fait m'en passer. Mais je me dis que si un tel problème se pause, c'est que moi quelque part je fais mal les choses.

    Donc, j'aurais voulu savoir :
    - Est ce que ma façon de modifier la table est aussi ignoble que je le pense ? Je pensais bien à faire un alter table mais j'ai du me planter car cela ne passe pas comme je l'aurais voulu.
    -Est il possible de spécifier à HSQL que lors des INSERT, il ne doit pas prendre en compte l'ordre des colonnes au moment de la création de la table, mais bien l'ordre des colonnes que j'ai utilisé au moment de ma requête ?

    Voili voila ^^

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    pour ce qui est de la façon dont tu as modifié les tables je pense en effet qu'un ALTER TABLE aurait été plus judicieux.
    Pour ce qui est du INSERT il y a une syntaxe en SQL qui devrait toujours être utilisé qui est la suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT TABLE1  (nomColonne1, nomColonne2) VALUES (1, A)
    qui permet de spécifier dans quelle colonnes on insère les donnée
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut
    Citation Envoyé par guigui5931 Voir le message
    pour ce qui est de la façon dont tu as modifié les tables je pense en effet qu'un ALTER TABLE aurait été plus judicieux.
    Pour ce qui est du INSERT il y a une syntaxe en SQL qui devrait toujours être utilisé qui est la suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT TABLE1  (nomColonne1, nomColonne2) VALUES (1, A)
    qui permet de spécifier dans quelle colonnes on insère les donnée
    J'effectue toutes mes requêtes de cette façon en Java, mais HSQL les transforme lui même :/ Ce que je voudrais justement c'est que HSQL les effectue bien de cette façon là.
    Sinon je vais revérifier pour le ALTER, merci bien ^^

Discussions similaires

  1. [AC-2003] Créer une table à partir de la structure d'une table existante
    Par ted the Ors dans le forum VBA Access
    Réponses: 10
    Dernier message: 26/01/2010, 15h33
  2. Réponses: 1
    Dernier message: 12/06/2009, 23h02
  3. Réponses: 2
    Dernier message: 27/04/2009, 16h32
  4. Une table.. qui ne ressemble pas a une table ?
    Par zevince dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 23/04/2007, 11h14
  5. UPDATER le champ d'une table 1 avec le champ d'une table 2
    Par alain.dissoir dans le forum Oracle
    Réponses: 2
    Dernier message: 08/06/2005, 13h07

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