2010-09-30 5 views
0

http://img839.imageshack.us/img839/8241/stackoverflow.pngMySQL InnoDB ID doublés

J'ai créé une nouvelle base de données. Il y a 2 tables class et teacher. Il y a un champ class_leader dans le tableau class associé à teacher_id de teacher. [1]

En relation PHPMyAdmin ressemble à: [2]

Table teacher contient des enregistrements. [3]

Quand j'ajouter de nouveaux enregistrements à la table class: [4]

Pourquoi ID dans class_leader sont doublés? [5]

Qu'est-ce que cela signifie? Que devrais-je faire?

Merci pour votre aide.

+0

Je ne comprends pas tout à fait ce que vous entendez par « ID dans class_leader sont doublés. Peut-être que vous pourriez nous montrer des données, et d'expliquer ce que vous attendez de se produire. En regardant la page, je pense que vous voudrez peut-être un à - plusieurs relations, car un enseignant peut avoir plus d'une classe –

+0

A la capture d'écran (partie 5), vous pouvez voir les valeurs "2-", "-2", "1-" et "-1". . pourquoi il se passe – WarLock

+0

Oui, il n'a pas l'air assez étrange Qu'est-ce que vous obtenez lorsque vous essayez 'SELECT class_leader dE class' dans une session SQL –

Répondre

0

Parce que la relation entre la classe et l'enseignant est beaucoup à un. Il est normal d'avoir des identifiants en double dans la colonne class_leader.

Désolé, je ne vois pas la capture d'écran. Si le champ class_leader n'est pas unique, il est normal d'avoir des identifiants en double. Faites-en une colonne avec des valeurs uniques et tout ira bien.

+0

Merci pour votre réponse. Mais je suis mis en relation one-to-one, vous pouvez le voir à la première partie de la capture d'écran. – WarLock

+0

J'ai défini 'class_leader' comme valeur UNIQUE, mais rien ne change. – WarLock

+0

Il serait utile si vous aviez un morceau de code pour voir comment vous faites l'insertion. –