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

Administration MySQL Discussion :

Problème migration HSQL -> MySQL : prob de clés primaires autoincrement commençant à 0


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 68
    Par défaut Problème migration HSQL -> MySQL : prob de clés primaires autoincrement commençant à 0
    Bonjour

    J'ai une base HSQL que je veux passer sous MySQL 5.5.16. J'utilise SQL Workbench/J pour faire une recopie directe car les fichiers SQL de HSQL ne sont syntaxiquement pas compatibles MySQL.

    Sauf que sous HSQL, les autoincrement peuvent commencer sans problème à 0, alors que sous MySQL, non
    C'est à dire que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into table(field_int_autoinc) values (0)
    , pour mysql, sur une table venant d'être créée, 0 = null, donc il va enregistrer la ligne avec comme ID 1.

    En faisant cet INSERT sur une table venant d'être créée, en ayant désactivé l'autoincrement temporairement côté mysql, la ligne prend bien l'id 0, mais si je les réactive ensuite, la ligne d'id 0 se transforme en id 1, donc il y aura des clés dupliquées

    ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY' [SQL State=23000, DB Errorcode=1062]
    Bien évidemment, des clés primaires autoincrement servent aussi de clé étrangère à d'autres tables.

    On peut forcer les clés primaires à pouvoir valoir 0 sous MySQL avec l'option NO_AUTO_VALUE_ON_ZERO, mais je n'ai pas accès l'administration du serveur.

    Comment puis-je donc faire pour réussir cette migration ?
    Je vous remercie d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 68
    Par défaut
    J'ai réussi en créant les tables sans les auto_increment, en copiant les données, et en les réactivant ensuite en executant bien au préalable la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    On peut en effet mettre ce paramètre sans le passer au service mysql à son démarrage. Elle évite à mysql de déplacer les ID 0 en 1.

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

Discussions similaires

  1. Problème d'accents avec MySQL Migration Toolkit
    Par 4rocky4 dans le forum MySQL
    Réponses: 1
    Dernier message: 11/08/2009, 21h42
  2. Problème de migration de bases Mysql vers Oracle
    Par mcgiant dans le forum Administration
    Réponses: 0
    Dernier message: 19/06/2009, 17h02
  3. Problème migration mdb> MySql
    Par pifane dans le forum Installation
    Réponses: 1
    Dernier message: 27/12/2006, 23h29
  4. Problème d'utilisation de Mysql avec dev-c++
    Par Watchi dans le forum Dev-C++
    Réponses: 10
    Dernier message: 06/08/2004, 14h35
  5. Réponses: 3
    Dernier message: 18/11/2002, 16h36

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