2011-04-03 5 views
0

J'ai défini un nouveau type de contenu «statetype» et un «état» de champ cck. J'ai besoin d'un champ d'état comme clé primaire dans cette table parce que j'ai une autre table et j'ai besoin d'un champ d'état comme clé étrangère. (ce code et table n'est pas drupal et je l'ai écrit moi-même mais lié à drupal table) donc je devrais changer le champ d'état à la clé primaire dans la table "statetype" mais drupal ont défini le champ vid dans cette table comme clé primaire. Y a-t-il un problème si je définis plusieurs clés primaires (vid, état) ou si je supprime la clé primaire?drupal et clé primaire multiple

Répondre

0

L'utilisation de champs db avec une signification métier en tant que clés primaires/étrangères n'est jamais une bonne idée. Vous devriez toujours utiliser une sorte de champ d'identification pour le faire. Si vous ne respectez pas cette règle, vous rencontrerez des problèmes dès que votre entreprise aura changé. Ensuite, vous devrez migrer les clés primaires, ce qui représente beaucoup plus de travail que simplement changer et migrer d'autres données.

Dans MySql, le plus simple est de définir un fichier en tant qu'incrément int et auto. Utilisez ce champ id en tant que clé étrangère. Dans l'autre sens, référencez le nid/vid du noeud drupal.