Auto-référencement de table
Est-ce que l'auto-référencement de table est autorisé dans MySQL ?
Exemple : j'ai une table contenant des unités dans mon projet.
Je désire que cette table contiennent ses propres valeurs de conversion vers l'unité standard d'un type donné:
Par exemple: la ligne
kg - kilogramme - poids - 2 - 1000.0 - g
fait donc référence à la ligne
g - gramme - poids - 2 - 1.0 - g
(qui est l'unité standard du poids).
Donc, est-ce que cette table est correcte et envisageable ?
http://usera.imagecave.com/calogerog...db_de_test.png
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| CREATE TABLE Unite (
unite VARCHAR NOT NULL AUTO_INCREMENT,
description VARCHAR NULL,
type_2 ENUM NULL DEFAULT distance, surface, volume, poids, autre,
decimales INTEGER UNSIGNED NULL,
facteur_conversion FLOAT NULL,
unite_conversion VARCHAR NOT NULL,
PRIMARY KEY(unite),
FOREIGN KEY(unite_conversion)
REFERENCES Unite(unite)
ON DELETE NO ACTION
ON UPDATE NO ACTION
); |
Mais qu'en est-il de la 1ère ligne qui sera créée ? Puisqu'aucune instance n'existe encore ?
Peut-être dois-je enlever le NOT NULL du champs unite_conversion ?