Это не то, что вы должны хранить в базе данных.Вы в основном храните одну и ту же информацию дважды (в данном случае она является производной, но фактически одинаковой), что, вероятно, приведет к проблемам в будущем.Вы получите новую строку Обеда перед последней, и номера заказов будут испорчены и т. Д. Вместо этого просто рассчитайте номер, когда он вам нужен.
Вы не упоминаете, какойСУБД, которую вы используете (всегда полезно включать эту информацию при задании вопроса), но что-то вроде следующего будет работать с SQL Server и другими СУБД, которые поддерживают функции раздела:
SELECT
meal,
[time], -- I'd pick a better column name myself. Reserved words = evil
ROW_NUMBER() OVER(PARTITION BY meal ORDER BY time) AS [order] -- Another reserved word! Eeek!
FROM
My_Table