Accueil > Forum > > > > Contrainte bizarre
Contrainte bizarre
vendredi 16 janvier 2009 à 15:49:16 |
Contrainte bizarre

arpala
|
Bonjour à tous, Alors voila, pour m'entrainer je m'amuse à créer des tables dans une base de donnée. Mais la je tombe sur un os. Primo mon fichier texte de création de table est: create table type( numero varchar(4), notype varchar(6), libelle varchar(12), constraint pk_type primary key (numero,notype)); create table zoneactivite ( numero varchar(4), nom varchar(30), nozoneact varchar(8), secteur varchar(20), nomville varchar(25), surftotale varchar(8), surfdispoamenagee varchar(16), surfdisponue varchar(24), prixm2 varchar(8), constraint pk_nume primary key (numero,nozoneact)); create table entreprise ( numero varchar(4), nooccupant varchar(8), raisonsoc varchar(16), descact varchar(16), rue varchar(16), cp varchar(4), ville varchar(16), tel varchar(16), mel varchar(16), siteweb varchar(16), constraint pk_entreprise primary key (numero,nooccupant)); create table local ( numero varchar(4), dateactu varchar(8), description varchar(36), superficie varchar(16), location varchar(16), prix varchar(10), nozoneact varchar(16), notype varchar(16), nooccupant varchar(16), constraint pk_local primary key (numero),/jusque la c'est juste, l'erreur se trouve dans les 3 dernieres lignes. constraint fk_zoneact foreign key (nozoneact) references zoneactivite(nozoneact), constraint fk_noty foreign key (notype) references type(notype), constraint fk_nouc foreign key (nooccupant) references entreprise(nooccupant)); pas très complique pour la plupart d'entre vous, mais voila quand je vais sur phpmyadmin je copie colle tout sa et paf la table local a une erreur mais les autres sont créer. Mon erreur est: #1005 - Can't create table '.\bonne\local.frm' (errno: 150)
sur plusieurs forum ils disent que sa vient des contraintes mais moi je ne trouve pas d'erreur, si quelqu'un pouvait m'aider se serait sympa.
Merci d'avance à bientôt
|
|
samedi 17 janvier 2009 à 01:03:08 |
Re : Contrainte bizarre

ed73
|
Essaye de t'arranger pour que tes clés soient exactement de même type et longueur. Par exemple
zoneactivite.nozoneact est un varchar(8) et local.nozoneact est un varchar(16)
Il se peut que MySql ne supporte pas ce genre de chose.
ed73
|
|
samedi 17 janvier 2009 à 12:02:15 |
Re : Contrainte bizarre

arpala
|
Salut ed73, effectivement y avait sa qui gêner, mais ça me fait toujours le même message d'erreur
arpala
|
|
mardi 20 janvier 2009 à 23:55:17 |
Re : Contrainte bizarre

SQLpro
|
Une contrainte FOREIGN KEY se greffe sur une autre contrainte de type PRIMARY KEY ou UNIQUE de la table mère. Dans la définition de la contrainte FK_zoneact de votre table local, vous tentez d'utiliser la seule colonne zoneact qui ne correpond pas à la définition de contrainte PK (ou UNIQUE s'il en existait une) de la table zoneactivite que vous voulez référencer... C'est donc à juste titre que votre SGBDR râle ! Visiblement vous n'avez pas compris ce qu'est un modèle relationnel de données. Une clef étrangère est en fait un ensemble de colonnes qui se trouve être clef primaire ou contrainte d'unicité d'une autre table. C'est aussi simple que cela. Il me semble que votre modèle est furieusement bancal... Il serait souhaitable que vous utilisiez un outil de modélisationa afin de faire ce travail. Cela vous éviterais de longues journées stériles et donc constituerais une économie drastique pour votre entreprise ! A + Frédéric BROUARD - SQLpro - MVP SQL Server Spécialiste SQL, SGBDR, modéles de données SQL & SGBDR [ Lien ]
|
|
mercredi 21 janvier 2009 à 10:25:44 |
Re : Contrainte bizarre

arpala
|
Salut c'est bon j'ai trouvé mon erreur sans connaitre les modèles relationnels de données et sans logiciel. Il fallait juste que dans mes contraintes j'enleve nozoneact, notype, nooccupant, et que je remplace ces 3 par numero et voila.
create table type( numero varchar(4), notype varchar(6), libelle varchar(12), constraint pk_type primary key (numero,notype));
create table zoneactivite ( numero varchar(4), nom varchar(30), nozoneact varchar(8), secteur varchar(20), nomville varchar(25), surftotale varchar(8), surfdispoamenagee varchar(16), surfdisponue varchar(24), prixm2 varchar(8), constraint pk_nume primary key (numero,nozoneact));
create table entreprise ( numero varchar(4), nooccupant varchar(8), raisonsoc varchar(16), descact varchar(16), rue varchar(16), cp varchar(4), ville varchar(16), tel varchar(16), mel varchar(16), siteweb varchar(16), constraint pk_entreprise primary key (numero,nooccupant));
create table local ( numero varchar(4), dateactu varchar(8), description varchar(36), superficie varchar(16), location varchar(16), prix varchar(10), nozoneact varchar(8), notype varchar(16), nooccupant varchar(16), constraint pk_local primary key (numero), constraint fk_zoneact foreign key (nozoneact) references zoneactivite(numero), constraint fk_noty foreign key (notype) references type(numero), constraint fk_nouc foreign key (nooccupant) references entreprise(numero));
|
|
Cette discussion est classée dans : table, numero, key, varchar, constraint
Répondre à ce message
Sujets en rapport avec ce message
probleme avec une nouvelle foreign key [ par cudenetf ]
bonjour,j'ai créé des tables sous MSDE.Je viens de remarquer que j'avais oublié de creer une foreign key et j'ai deja commencé a remplir la table.je t
Clé primaire [ par fehrisoukeina ]
Bonsoir,LA table empprint contient clés primaires. create table empprint(codeexp numeric(4),codeadherent numeric(4),dateemp date,dateretour date,CONS
num_auto [ par helmi2008 ]
salut, svp j'ai creer cette table:create table client(numc int primary key,nomc varchar(15),prenomc varchar(15),date_de_naissance date,ncin int,nati
Erreur 1452... Comprends pas ? ? ? [ par lnp ]
#1452 - Cannot add or update a child row: a foreign key constraint fails (`projet/rendez_vous`, CONSTRAINT `FK_RENDEZ_VOUS` FOREIGN KEY (`ENT_USER_ID`
confirmation d'une creation de table svp [ par sikove ]
salutdans cette base de données : le unitcode doit etre en primary key dans les 2 tables ? euh une clé etrangere ? voila la creation des tables
Erreur inconnu lors d'une requete d'ajout [ par alucard02 ]
BonjourJe bloque devant cette requette simple qui permet l'enregistrement de nouveaux membres :$q1 = "insert into classmates_members set
primary key sur type date [ par stefff01 ]
Bonjour, J'aimerais mettre une clé primaire sur une table "historique" composée d'un numéro vers une autre table ainsi que d'une date. Le but serait d
Unicitee d'une combinaison de champ mySQL [ par epicfail ]
Bonjour, je voudrais que dans ma table compose de 5 champs, la combinaison de ces 5 champs soit unique mais je ne sais pas comment faire merci de m'a
créer table avec plusieur clés etrangérs en sql server 2005 [ par amal2008 ]
Bonjour, je veux faire une requete de create table en sql server 2005 , avec tous les contrainres et types des champs,le probléme c'est qu il m'accept
Bataille SQL2000/SQL2005 [ par crn_c21 ]
Bonjour, Quelq'un pourrat-il m'expliquer pour quoi le lot suivant fonctionne sous 2005 et pas sous 2000 : CREATE TABLE #T (A int,B varchar(10) )
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|