2009-09-20 8 views
9

Je tente de créer une clé étrangère dans une base de données SQL Compact mais je reçois le message d'erreur "Impossible d'insérer une valeur de clé étrangère car une valeur de clé primaire correspondante ne s'affiche pas exister."Problème SQL Compact (CE) avec la création de clé étrangère

La TableA fait déjà référence à la TableB et j'essaie de créer une référence à partir de TableC en utilisant la même clé primaire dans la TableB. Comme j'ai déjà une référence à TableB, il doit y avoir une clé primaire valide dans cette table.

J'ai vérifié deux fois et tripple vérifié les clés et les types de données de tous les champs afin que je suis perplexe.

J'ai essayé d'utiliser l'option gui dans Visual Studio 2008 et d'utiliser une commande SQL.

Répondre

14

Ceci est dû aux "mauvaises données" que vous avez dans les tables. Vérifiez si vous avez toutes les valeurs correspondantes dans la table primaire. Le SGBD vérifie l'intégrité référentielle pour garantir l'exactitude des données dans la base de données.

exemple: Si vous avez la colonne StatusID dans le Tableau 1 avec les valeurs de 1 à 10 et la colonne StatusID dans le Tableau2 avec les valeurs de 1 à 11 vous ne pouvez pas utiliser Tableau1 en tant que parent car il n'existe aucune valeur correspondante (11) dans Tableau2.

+4

Stupide de moi de ne pas vérifier les données bien sûr. J'ai effacé la table de référence et cela a très bien fonctionné. Merci! –

Questions connexes