首页 > 解决方案 > 在我的 SQL 中自动增加具有连接值的列

问题描述

我有这个表,其中有一个名为 wo_number 的列,它基本上是来自时间戳列的自动生成的字符串值。这种给出了一个唯一的值(因为它考虑了秒并且我的应用程序不允许多次插入);问题是,我想在一秒钟内扩展多个插入。因此,如果两个插入同时出现,我想通过自动增量使其 100% 唯一。

wo_number 列值如下所示:WO-071821145515

我希望它看起来像这样:WO-071821145515 - 1 <<< 其中 1 是自动增量,以防出现重复。

我的表查询是:

[create table work_orders (
id int auto_increment PRIMARY KEY,
time_stamp TIMESTAMP DEFAULT now(),
descreption text, 
requested_by varchar(100),
urgent BOOLEAN,
assigned_to varchar(100),
completion_date TIMESTAMP -- DEFAULT now(),
ack_date timestamp -- DEFAULT now(),
wo_number varchar(100) as (concat('WO-',replace(DATE_FORMAT(time_stamp,"%m%d%y%T"),':',''))),
remarks text, 
machine_id int,
department_id int,
employee_id int,
foreign key (machine_id) REFERENCES machines(id),
foreign key (department_id) REFERENCES departments(id),
foreign key (employee_id) REFERENCES employees(id)
);

一个简单的选择查询

标签: mysqlconcatenationauto-increment

解决方案


推荐阅读