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

MS SQL Server Discussion :

Sql Server Express - Probleme index unique et valeurs null


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Inscrit en
    Février 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 29
    Par défaut Sql Server Express - Probleme index unique et valeurs null
    Bonjour à tous

    Je travail sous Sql Server Express.
    J'ai crée un index unique sur une colonne de type varchar d'une de mes tables. Cela fonctionne trés bien car je ne peux bien évidemment pas dupliquer une valeur mais mon probleme c'est que je ne peux pas non plus insérer deux fois la valeur NULL ?!!
    Je précise que j'ai bien coché la case "Allow Nulls" pour la colonne en question.

    Est-ce normale et y a-t-il un moyen de contourner ce probleme ?

    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Génère le scripte de création de ton index et poste le.
    Il sera plus parlent pour nous.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Membre averti

    Inscrit en
    Février 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 29
    Par défaut
    Voici le script de création de mes deux index :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE UNIQUE NONCLUSTERED INDEX [IX_modele_char] ON [dbo].[modele] 
    (
    	[charModele] ASC
    )WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]
    GO
     
    CREATE UNIQUE NONCLUSTERED INDEX [IX_modele_nom] ON [dbo].[modele] 
    (
    	[nomModele] ASC
    )WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]
    GO

  4. #4
    Membre averti

    Inscrit en
    Février 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 29
    Par défaut
    Voilà le script de création de ma table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE [dbo].[modele](
    	[numModele] [dbo].[TNumModele] NOT NULL,
    	[numTypeAppareil] [dbo].[TNumTypeAppareil] NOT NULL,
    	[nomModele] [varchar](30) COLLATE French_CI_AI NULL,
    	[charModele] [varchar](3) COLLATE French_CI_AI NULL,
     CONSTRAINT [PK_modele] PRIMARY KEY CLUSTERED 
    (
    	[numModele] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    Dans cette table je voudrais que toutes les données contenues dans les colonnes nomModele et charModele soit unique.

    En revanche, je voudrais aussi pouvoir entré des ligne avec numModele et numTypeAppareil valués et nomModele et charModele à NULL

    Merci pour ton aide WOLO Laurent

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Fait attention, vous devez avoir aulieu de dans les scriptes de création de tes index.

    Supprimes-les et recrées les en utilisant vos scriptes.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  6. #6
    Membre averti

    Inscrit en
    Février 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 29
    Par défaut
    Ok j'essaye ça lundi car là c'est le week end...

    Sinon peux tu me dire à quoi sert exactement l'option IGNORE_DUP_KEY s'il te plait

    Merci d'avance

  7. #7
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    IGNORE_DUP_KEY signifie ignorer les clés en en double.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

Discussions similaires

  1. [probleme] connection sql server express avec php
    Par buse974 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/02/2008, 11h54
  2. Probleme SQL server express 2005
    Par kidrissi dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/06/2007, 16h53
  3. probleme installation? sql server express
    Par popachubby dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/09/2006, 13h09
  4. Réponses: 2
    Dernier message: 27/07/2006, 14h41
  5. [SQL Server express] probleme de connection
    Par nahzhir dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/04/2006, 17h57

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