Я хочу вставить данные в таблицу в определенном порядке. Это связано с тем, что я должен предоставить каждой записи определенный идентификатор. То, что я использую, является отборным заявлением:MySQL: insert select in order
select (@i := @i + 1) as id, ...
order by column
Проблема, с которой я сталкиваюсь, заключается в том, что это не работает. Я получаю результат, который я хочу получить из запроса select. Однако, когда я пытаюсь вставить данные в таблицу, порядок по инструкции игнорируется. Есть ли способ заставить правильный порядок в инструкции insert?
То, что я хочу это:
+----+------+-------------+
| id | name | breadcrumbs |
+----+------+-------------+
| 1 | test | 01 |
| 5 | -d | 01,05 |
| 4 | c | 04 |
| 6 | e | 06 |
| 2 | -a | 06,02 |
| 3 | --b | 06,02,03 |
+----+------+-------------+
Чтобы стать этим:
+----+------+-------------+
| id | name | breadcrumbs |
+----+------+-------------+
| 1 | test | 01 |
| 2 | -d | 01,05 |
| 3 | c | 04 |
| 4 | e | 06 |
| 5 | -a | 06,02 |
| 6 | --b | 06,02,03 |
+----+------+-------------+
В отдельной временной таблицы.
Вы хотите генерировать идентификаторы, основанные на сортировку сухари на родитель, ребенок, внучата основу - к примеру 01 первыми следует 01, 02, за которым следует 01,02,03, за которым следует 01,03, затем 02, затем 02,01 и т. Д.? –