如何镜像自动增量值并与 mysql 中另一列中的值合并

How to mirror auto increment value and combine with value in another column in mysql

我在 table 中有一个自动递增列 id,这工作正常,但我正在尝试创建一个 order_id 列,它结合了 account_id自动增量值为 id.

的用户

所以 order_id 中的值看起来像这样:

33.1000
52.1001
69.1002
Etc

点前的数字是account_id,点后的数字是id的自动递增值。

我该怎么做?

我找到的类似答案是针对另一种数据库语言的,或者是带有死链接的问题。

我已经尝试在插入后使用 PHP 和最后插入的 id 函数 insert_id 立即更新数据库,但我确信这可以在 SQL 中完成。

您可以将值构造为:

concat(account_id, '.', lpad(id, 4, '0'))

遗憾的是,您不能将其用作列的生成值或默认值。这给了你两个选择。

首先是使用视图:

create table v_t
    select t.*, concat(account_id, '.', lpad(id, 4, '0')) as order_id
    from t;

或者使用触发器设置值。