将 DEFAULT 值设置为 MariaDB 中的行位置

问题描述

我想通过添加一列并将所有现有行的认值设置为其位置来更改现有表,基本上模拟 ROW_NUMBER() 窗口函数,但用于 DEFAULT 语句。

这是一个示例表,其中包含我想要的 order 列:

id|name  |order|
--+------+-----+
 1|foo   |    1|
 8|bar   |    2|
 9|toto  |    3|

我尝试过:

SET @row_number = 1;
ALTER TABLE my_db.my_table
    ADD COLUMN order int(11) DEFAULT (@row_number:=@row_number + 1);

和:

ALTER TABLE my_db.my_table ADD COLUMN `order` int(11) DEFAULT ROW_NUMBER() OVER(ORDER BY (SELECT NULL))

但没有成功。在 .sql 脚本中可以实现我想要的吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)