Двойной AI индекс
Не знаю как сделать двойной счетчик в таблице MySQL (и как его назвать). В столбце Родитель должен указываться ID из другой таблицы, это не столь важно
А в столбце Счетчик должен автоматически выставляться номер этой строки с учетом Родителя. Т. е. при добавлении двух строк с Родителем = 1 Счетчик должен отсчитать 1 и 2, но при последующем добавлении строки с Родителем = 2 Счетчик должен поставить в ней 1. Если потом добавить строку с Родителем = 1 Счетчик уже должен указать 3
| ID | Родитель | Счетчик |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 2 | 1 |
| 3 | 1 | 2 |
| 4 | 3 | 1 |
| 5 | 2 | 2 |
| 6 | 1 | 3 |
| 7 | 4 | 1 |
| 8 | 3 | 2 |
| 9 | 2 | 3 |
| 10 | 1 | 4 |
В итоге получается группа папок, в каждой из которых есть свои файлы, нумерующиеся с единицы
SQL позволяет сделать такое?
При добавлении меток увидел multi-index, вероятно, это то, что мне нужно, но я все равно не понял как это сделать
UPDATE
Как раз узнал, что такое триггеры. Получился следующий код:
BEGIN UPDATE parents SET parents.counter = parents.counter + 1 WHERE parents.id = NEW.parent; SET NEW.number = (SELECT counter FROM parents WHERE parents.id = NEW.parent); END