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

Langage SQL Discussion :

SQL et version


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut SQL et version
    Bonjour
    je fais la requéte suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE comp_comp 
    ADD CONSTRAINT FK_comp_comp_id_auteur FOREIGN KEY ( id_auteur ) 
    REFERENCES spip_auteurs( id_auteur ) ;
    sur un easyphp avec un SQL 4.1.9 la requête passe, par contre sur une 5.0.51b de wampserver cela ne passe pas.

    Voici le retour
    MySQL a réponduocumentation
    #1005 - Can't create table '.\spip-comp\#sql-984_23.frm' (errno: 150)

    Et voici la requête complete.

    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
    CREATE TABLE comp_ma (id_matiere int NOT NULL, nom_matiere varchar(30), code_matiere varchar(30));
     
    #CREATE TABLE spip_auteurs (id_auteur int NOT NULL, nom text, bio text, email text);
     
    CREATE TABLE comp_cl (id_classe int NOT NULL, designation varchar(30), annee varchar(10));
     
    CREATE TABLE comp_dev_act (id_doc int NOT NULL, nom_doc varchar(30), dev_act varchar(10));
     
    CREATE TABLE comp_comp (id_competence int NOT NULL, design_comp varchar(30), repere varchar(20), s_sf varchar(10), niveau varchar(10), ci varchar(30), id_auteur int);
     
    #CREATE TABLE spip_article (id_article int NOT NULL);
     
    CREATE TABLE comp_ens_rec (id_auteur int NOT NULL, id_matiere int NOT NULL);
     
    CREATE TABLE comp_app_resp (id_auteur int NOT NULL, id_classe int NOT NULL);
     
    CREATE TABLE comp_com_cre (id_auteur int NOT NULL, id_doc int NOT NULL);
     
    CREATE TABLE comp_port (id_doc int NOT NULL, id_competence int NOT NULL);
     
    CREATE TABLE comp_doc (id_doc int NOT NULL, id_article int NOT NULL);
     
    ALTER TABLE comp_ma ADD CONSTRAINT PK_comp_ma PRIMARY KEY (id_matiere);
     
    ALTER TABLE spip_auteurs ADD CONSTRAINT PK_spip_auteurs PRIMARY KEY (id_auteur);
     
    ALTER TABLE comp_cl ADD CONSTRAINT PK_comp_cl PRIMARY KEY (id_classe);
     
    ALTER TABLE comp_dev_act ADD CONSTRAINT PK_comp_dev_act PRIMARY KEY (id_doc);
     
    ALTER TABLE comp_comp ADD CONSTRAINT PK_comp_comp PRIMARY KEY (id_competence);
     
    ALTER TABLE spip_article ADD CONSTRAINT PK_spip_article PRIMARY KEY (id_article);
     
    ALTER TABLE comp_ens_rec ADD CONSTRAINT PK_comp_ens_rec PRIMARY KEY (id_auteur, id_matiere);
     
    ALTER TABLE comp_app_resp ADD CONSTRAINT PK_comp_app_resp PRIMARY KEY (id_auteur, id_classe);
     
    ALTER TABLE comp_com_cre ADD CONSTRAINT PK_comp_com_cre PRIMARY KEY (id_auteur, id_doc);
     
    ALTER TABLE comp_port ADD CONSTRAINT PK_comp_port PRIMARY KEY (id_doc, id_competence);
     
    ALTER TABLE comp_doc ADD CONSTRAINT PK_comp_doc PRIMARY KEY (id_doc, id_article);
     
    ALTER TABLE comp_comp ADD CONSTRAINT FK_comp_comp_id_auteur FOREIGN KEY (id_auteur) REFERENCES spip_auteurs (id_auteur);
     
    ALTER TABLE comp_ens_rec ADD CONSTRAINT FK_comp_ens_rec_id_auteur FOREIGN KEY (id_auteur) REFERENCES spip_auteurs (id_auteur);
     
    ALTER TABLE comp_ens_rec ADD CONSTRAINT FK_comp_ens_rec_id_matiere FOREIGN KEY (id_matiere) REFERENCES comp_ma (id_matiere);
     
    ALTER TABLE comp_app_resp ADD CONSTRAINT FK_comp_app_resp_id_auteur FOREIGN KEY (id_auteur) REFERENCES spip_auteurs (id_auteur);
     
    ALTER TABLE comp_app_resp ADD CONSTRAINT FK_comp_app_resp_id_classe FOREIGN KEY (id_classe) REFERENCES comp_cl (id_classe);
     
    ALTER TABLE comp_com_cre ADD CONSTRAINT FK_comp_com_cre_id_auteur FOREIGN KEY (id_auteur) REFERENCES spip_auteurs (id_auteur);
     
    ALTER TABLE comp_com_cre ADD CONSTRAINT FK_comp_com_cre_id_doc FOREIGN KEY (id_doc) REFERENCES comp_dev_act (id_doc);
     
    ALTER TABLE comp_port ADD CONSTRAINT FK_comp_port_id_doc FOREIGN KEY (id_doc) REFERENCES comp_dev_act (id_doc);
     
    ALTER TABLE comp_port ADD CONSTRAINT FK_comp_port_id_competence FOREIGN KEY (id_competence) REFERENCES comp_comp (id_competence);
     
    ALTER TABLE comp_doc ADD CONSTRAINT FK_comp_doc_id_doc FOREIGN KEY (id_doc) REFERENCES comp_dev_act (id_doc);
     
    ALTER TABLE comp_doc ADD CONSTRAINT FK_comp_doc_id_article FOREIGN KEY (id_article) REFERENCES spip_article (id_article);

    Je ne suis pas du tout spécialiste. Mon travail passe par une création merise à partir de analyseSI puis création des requête Sql avec le même logiciel. Ensuite jonction avec un SPIP. C'est tiré par les cheveux, je sais, mais ce qui m'intéresse c'est la possibilité de gérer des compétences sur des élèves des classes des matières des profs.
    http://www.philippeavi.net/lyc-vincendo2/merise.png

    Merci pour vos suggestions.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Pourquoi y a t-il un # devant deux lignes CREATE TABLE dont justement la table qui délivre sa clé primaire dans la clé étrangère qui plante ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut sql et spip
    Elles existent et créées par spip

    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
     CREATE TABLE `spip_auteurs` (
      `id_auteur` bigint(21) NOT NULL auto_increment,
      `nom` text NOT NULL,
      `bio` text NOT NULL,
      `email` tinytext NOT NULL,
      `nom_site` tinytext NOT NULL,
      `url_site` text NOT NULL,
      `login` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
      `pass` tinytext NOT NULL,
      `low_sec` tinytext NOT NULL,
      `statut` varchar(255) NOT NULL default '',
      `maj` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      `pgp` blob NOT NULL,
      `htpass` tinyblob NOT NULL,
      `en_ligne` datetime NOT NULL default '0000-00-00 00:00:00',
      `imessage` char(3) NOT NULL default '',
      `messagerie` char(3) NOT NULL default '',
      `alea_actuel` tinytext NOT NULL,
      `alea_futur` tinytext NOT NULL,
      `prefs` tinytext NOT NULL,
      `cookie_oubli` tinytext NOT NULL,
      `source` varchar(10) NOT NULL default 'spip',
      `lang` varchar(10) NOT NULL default '',
      `idx` enum('','1','non','oui','idx') NOT NULL default '',
      `url_propre` varchar(255) NOT NULL default '',
      `extra` longblob,
      PRIMARY KEY  (`id_auteur`),
      KEY `login` (`login`),
      KEY `statut` (`statut`),
      KEY `lang` (`lang`),
      KEY `idx` (`idx`),
      KEY `en_ligne` (`en_ligne`),
      KEY `url_propre` (`url_propre`)
    ) ENGINE=InnoDB AUTO_INCREMENT=132 DEFAULT CHARSET=latin1 AUTO_INCREMENT=132 ;
    Merci

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    tu fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE comp_comp 
    ADD CONSTRAINT FK_comp_comp_id_auteur FOREIGN KEY ( id_auteur ) 
    REFERENCES spip_auteurs( id_auteur ) ;
    or tes 2 colonnes ne sont pas de même type (un est int et l'autre bigint)
    donne leur le même type et cela devrait fonctionner

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut
    Exactement merci.

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

Discussions similaires

  1. microsoft sql 2000 version developper
    Par architl dans le forum Développement
    Réponses: 2
    Dernier message: 25/05/2008, 15h15
  2. [Linq to Sql] Quelle version de SQL Server ?
    Par inno007 dans le forum Accès aux données
    Réponses: 1
    Dernier message: 21/04/2008, 11h56
  3. [Oracle SQL toutes versions] UPDATE massif
    Par Nico57 dans le forum Oracle
    Réponses: 1
    Dernier message: 29/03/2006, 17h03
  4. [SQL SERVER] Version 7.0 ou 2000 ?
    Par Tankian dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/04/2004, 10h55
  5. SQL SERVER version gratuite ?
    Par Kcintim dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/09/2003, 14h03

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