У меня есть таблица с 4 столбцами ID, PLZ (немецкие почтовые индексы), long и lat
CREATE TABLE `table` (
`ID` INT(5) UNSIGNED NULL,
`PLZ` INT(5) UNSIGNED NULL,
`lat` INT(5) UNSIGNED NULL,
`long` INT(5) UNSIGNED NULL
)
COLLATE='utf8'
, когда я добавляю почтовый индекс с INSERT, новый почтовый индекс будет добавлен вконец таблицы с наибольшим идентификатором.
Это разрушает порядок возрастания почтовых индексов PLZ.
Я хотел быТеперь нужно изменить порядок идентификаторов на основе возрастающих почтовых индексов PLZ.
Это должна быть одна команда для MySQL .
Какой самый лучший способ?
PS Я могу сделать это:
SELECT RANK() Over (ORDER BY plz) As id , plz, long, lat FROM `table`;
Таким образом, я создаю виртуальную колонку.И каждый раз, когда мне нужен этот столбец, я должен выполнить этот запрос.Я хочу сохранить результат запроса в столбце, даже если я создаю новый, такой как «idsorted», без проблем.
Но тогда возникает вопрос по-другому: «Как я могу теперь обновить свойреальный столбец "idnew" с новым столбцом идентификатора? "
Я прошу команду mysql.