|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 6 ![]() |
Bonjour à tous,
Je suis en train de migrer sous MySQL des databases HSQLDB créées avec OpenOffice.org. La plupart de mes tables possèdent une clé primaire auto-incrémentée. Certaines tables sont en relation (1-n), une clé étrangère d'une table contenant la valeur de la clé primaire auto-incrémentée de la table liée. Pour la migration j'ai désactivé l'auto-incrémentation des tables cible pour ne pas modifier les valeurs des clés primaires. Mon idée était donc qu'après avoir rempli mes tables MySQL (je suis passé par un fichier intermédiaire au format csv) , je réactivais l'auto-incrément et le faisais redémarrer après la dernière valeur. Mais je n'arrive pas à réactiver l'auto-incrémentation (par ALTER TABLE). Ce n'est peut-être pas possible ? Merci de votre aide, Bernard Ribot |
|
|
00
|
|
|
#2 |
![]() ![]() |
Quelle requête as-tu essayé ? Quelle erreur as-tu obtenu ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 6 ![]() |
Bonsoir,
Pour préciser un peu ce que j'ai fait j'ajouterais que : - j'ai créé des fichiers au format csv à partir de mes tables HSQL - j'ai créé "a la mano" les tables sous MySQL mais sans activer l'auto-increment au niveau des clés primaires - j'ai chargé mes tables MySQL avec un LOAD DATA - et enfin j'ai voulu réactiver l'auto-increment par un ALTER TABLE tb1 CHANGE id AUTO_INCREMENT (c'est un peu "au pif" que j'ai essayé ça ! j'avoue n'avoir rien trouvé de ce genre dans la doc MySQL). Ca s'est bien évidemment terminé par une erreur de syntaxe (1064). Je viens de recréer mes tables MySQL avec auto-increment cette fois-ci et refait le chargement. En fait j'ai vu qu'il n'y avait pas trop de dégats. Au départ je craignais que le LOAD me renumérote mais clés. Mais ce n'est pas le cas (les "trous" d'origine y sont encore). Par contre, le 1er enregistrement de chaque table qui avait l'id 0 (HSQL débute par défaut l'auto-increment à 0) a été supprimé (MySQL semble quant à lui débuter à 1). Bernard |
|
|
00
|
|
|
#4 |
![]() ![]() |
Donc problème
?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 6 ![]() |
Bonjour,
Je dirais : oui et non. Oui, parce que je vais pouvoir terminer ma migration. Non parce que ma question initiale est restée sans réponse : est-ce que réactiver l'auto-increment est possible et si oui, comment ? (quelle instruction SQL par exemple faudrait-il coder pour le faire). J'attends une journée avant de mettre "résolu". Bonne journée, Bernard |
|
|
00
|
|
|
#6 | ||
![]() ![]() |
Un petit tour dans la doc :
Citation:
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : avril 2006 Messages : 6 ![]() |
Ca y est j'ai trouvé la bonne syntaxe :
Code :
En plus je m'étais complètement planté : j'avais codé CHANGE au lieu de MODIFY ! Merci de ton intérêt pour mon problème que j'ai pouvoir marquer comme "résolu". Bonne fin de journée, Bernard |
||
|
|
00
|
|
|
#8 | |
![]() ![]() |
Citation:
Parce que quand MySQL donne une erreur de syntaxe "near UNSIGNED...", ça veut dire que la syntaxe est mauvaise juste avant UNISGNED ! Quand tu veux préciser UNSIGNED pour une colonne, il faut préciser aussi son type : INT UNSIGNED
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : avril 2006 Messages : 6 ![]() |
C'était tout simplement :
Code :
Un problème dans l'ordre des attributs ? |
||
|
|
00
|
|
|
#10 | ||
![]() ![]() |
Oui je pense que c'est plutôt ceci :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com