J'ai une table Ticket
id PRIMARY
job VARCHAR (6)
statut BOOL
Une table Ticket_comm
id PRIMARY
id_ticket INT
commentaire VARCHAR (200)
date TIMESTAMP
ENfin, grosso Modo, les détails sont inutiles, mais la relation Ticket_comm/Ticket est de type 1:n
Dans le meilleur des mondes, tout est déjà dans l'ordre. Actuellement, dans une jointure, Ticket est selectionnée avant Ticket_comm, j'ai donc un affichage des tickets dans l'ordre de création, ainsi que leurs commentaires. Ceci dit, si MySQL utilise l'ordre qu'il veut de selection des tables, il faudrait certainement lui dire de commencer par Ticket. Ca, de toutes façons, quoiqu'il arrive.
Ensuite, j'avais déjà remarqué que les "id" ne se suivait pas toujours. Ayant mon idée sur la question (et logique derrière cela), j'ai donc, il y a 5 minutes, créé une table dans lequel j'ai mis 6 enregistrements. J'en ai supprimé deux au milieu, et j'en ai rajouté deux autres. Effectivement, les deux rajoutés se sont placés là où étaient ceux que j'ai supprimé. J'ai donc :
1, 8, 7, 4, 5, 6
Je ne peux donc pas me fier à l'ordre des lignes utilisées par MySQL, du moins pas dans cet état. Car, sans cette méthode d'optimisation de place, mes Tickets et commentaires sont déjà placé par ordre chronologique.
Donc, une autre question : faut-il replacer ces identifiants après chaque DELETE, ou dans la requête SELECT. J'ai sincèrement déjà la réponse : DELETE. Malgré cela, (... j'allais dire une grosse bêtise (oui je réfléchis en même temps que j'écris)) .. pas de malgré. Il existe effectivement bien un trigger DELETE. Donc Ok. Maintenant, considérons que je souhaite passer par un SELECT... Suite au prochain numéro car la date du ticket se trouve dans son premier commentaire ...