MYSQL / MARIADB:使用虚拟“ as”列中的值更新实际列

时间:2018-12-02 17:27:13

标签: mysql mariadb

我有一个包含4列ID,PLZ(德国邮政编码),long和lat的表

CREATE TABLE `table` (
    `ID` INT(5) UNSIGNED NULL,
    `idnew` INT(5) UNSIGNED NULL,
    `PLZ` INT(5) UNSIGNED NULL,
    `lat` INT(5) UNSIGNED NULL,
    `long` INT(5) UNSIGNED NULL
)
COLLATE='utf8'

当我使用INSERT添加邮政编码时,新的邮政编码将添加到ID最高的表格末尾。

enter image description here

这破坏了PLZ邮政编码的升序。

enter image description here

如果我跑步:

SELECT RANK() Over (ORDER BY plz) As idnew , plz, long, lat FROM `table`;

我收到一个虚拟表,其中的虚拟列“ idnew”按顺序递增。这个idnew与我表中的“ idnew”无关。

问题来了:“我现在如何用新的虚拟idnew列更新旧的idnew列?”

P.S。不要告诉我我很愚蠢;-)我已经知道了。

0 个答案:

没有答案