Rechercher : dans
Par :

PRIMARY KEY

Dernière réponse le 23 jui 2009 à 10:11:30 soleil_levant, le 15 jui 2009 à 13:37:55 
 Signaler ce message aux modérateurs

Bonjour,

Pourrion nous lier deux colonnes d'une table pour en faire une seule clé primaire?
je m'explique, deux colonnes de ma tables doivent faire l'objet d'un enregistrement unique. La première est de type texte et la seconde date.
La prmière de type texte est un code, qui peut avoir des doublons, associé à la date, ils feront l'objet d'enregistrement unique.

Merci pour votre aide

Configuration: Windows XP Internet Explorer 8.0

Meilleures réponses pour « PRIMARY KEY » dans :
SQL - Création de table Voir Le SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE...
Duplicate entry '127' for key 1 VoirVous tentez de faire une insertion dans une table de votre base de données MySQL et vous obtenez l'erreur MySQL suivante: Duplicate entry '127' for key 1 Ceci provient très probablement du fait que la clé primaire de votre table est de type TINYINT...
Télécharger WIFI Key Generator VoirLes connexions Wifi sont certes très pratiques, mais étant donné qu'ils ne nécessitent aucun câblage, tout le monde peut s'y connecter si son ordinateur est compatible avec le Wifi. WIFI Key Generator est une petite application destinée à générer des...
SQL - Contraintes d'intégrité VoirExpression de contraintes d'intégrité Une contrainte d'intégrité est une clause permettant de contraindre la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient...

1

djidj19, le 16 jui 2009 à 00:20:29

OUAI

Répondre à djidj19

2

soleil_levant, le 16 jui 2009 à 14:21:36

Ouais mais comment ?? ;)

Précision: SGBDR --> Base Access 2003 et SQL Server 2005

Merci

Répondre à soleil_levant

3

Christounet, le 16 jui 2009 à 16:18:16

Bonjour,

Pour SQL SERVER, le code devrait être le suivant

CREATE UNIQUE INDEX NomIndex ON Nomtable (NomColonne1 ASC/DESC , NomColonne2 ASC/DESC)

Je pense aussi qu'il vaut mieux mettre comme première colonne celle qui aura le plus de valeur distinctes.

Pour ACCESS, je pense que cela doit être la même syntaxe.
A plus On se donne des souvenirs quand on se quitte.
(Marcel Achard)

Répondre à Christounet

4

soleil_levant, le 16 jui 2009 à 17:08:20

Thanks a lot man :)

Je vais essayé ça dès demain et te tiendrais au courant.

a+

Répondre à soleil_levant

5

soleil_levant, le 22 jui 2009 à 23:34:16

Bonsoir Christounet,
pour répondre à ta méthode de création d'index Unique sur plusieurs colonnes, ça ne marche malheureusement pas :(

Voici le code d'erreur issue de l'iditeur de base que j'utilise 'Toad' :
Error 22/07/2009 23:30:30 0:00:00.015 [Microsoft][ODBC Microsoft Access Driver] Syntax error in CREATE INDEX statement. 1 0

PS: Peux tu m'explique ce que c'est que ASC/DESC

Merci beaucoup

Répondre à soleil_levant

6

Christounet, le 23 jui 2009 à 09:50:17

Bonjour,

En fait ASC/DESC permet de choisir l'order de chaque colonne:
ASC = ordre croissant
DESC = ordre décroissant

Le code exact pour créer un index sur plusieurs colonnes est le suivant

CREATE UNIQUE INDEX NomIndex ON Nomtable (NomColonne1 ASC , NomColonne2 DESC)

Dans cet exemple, on trie sur la première colonne en ordre croissant et sur la deuxième en ordre décroissant, ceci n'étant qu'un exemple, tu peux utiliser soit ASC soit DESC par colonne.
A toi de voir
A plus On se donne des souvenirs quand on se quitte.
(Marcel Achard)

Répondre à Christounet

7

 soleil_levant, le 23 jui 2009 à 10:11:30

Thanks a lot man. Je pense que c'est ça le problème, je te confirme ça tout à l'heure.

Répondre à soleil_levant
Collection CommentÇaMarche.net