Forum Programmation.SQL Clef unique multi-champs

Posté par (page perso) .
Tags : aucun
0
20
juil.
2006
Voila j'ai une table de la manière suivante :
id [int 11] AUTO_INCREMENT, side [enum('parent', 'left', 'right', 'top')], order [int 11], parent_id [int 11], title [varchar(255)], ...

J'ai des données de la manière suivante :
0, left, 1, '', '', 'menu parent left 1'
1, parent, 0, '', 0, 'menu fils 1'
2, parent, 0, '', 0, 'menu fils 2'
3, parent, 0, '', 0, 'menu fils 3'
4, parent, 0, '', 0, 'menu fils 4'
5, left, 2, '', '', 'menu parent left 2'
6, parent, 0, '', 5, 'menu fils 1'
7, parent, 0, '', 5, 'menu fils 2'
8, parent, 0, '', 5, 'menu fils 3'
9, parent, 0, '', 5, 'menu fils 4'
10, right, 1, '', '', 'menu parent droit 1'
11, parent, 0, '', 10, 'menu fils 1'
12, parent, 0, '', 10, 'menu fils 2'
13, parent, 0, '', 10, 'menu fils 3'
14, parent, 0, '', 10, 'menu fils 4'
(actuellement le enum=parent c'est celui du côté mais ça revient pratiquement au même, vu qu'il est pas utilisé dans ce cas)

Enfin des truc de ce style...

Ce que j'aimerais faire serait d'avoir une clef unique du style :
UNIQUE (`side`, `order` WHERE `parent_id` = '')

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.