gpt4 book ai didi

mysql - 如何获取2012061000001格式的id

转载 作者:行者123 更新时间:2023-11-29 08:51:48 25 4
gpt4 key购买 nike

我有以下表结构,其中有一个 vid 列,我希望输入今天的日期,后跟 00001,如“2012061000001”,下次更新表时,vid 应该为“20120610000002”如果明天的表会更新,那么 vid 应该是 2012061100003

+----+------+-------------+---------+------------+-------------+
| id | vid | visitorname | company | contact | whometomeet |
+----+------+-------------+---------+------------+-------------+
| 1 | NULL | rakesh | godrej | 9987654123 | abcdef |
| 2 | NULL | samir | infosys | 9987654123 | abcdef |
+----+------+-------------+---------+------------+-------------+

我们怎样才能实现这一目标?

这是我的表结构,我将 id 设置为 auto_increment 我们可以有两个字段 auto_increment

+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| vid | varchar(15) | YES | | NULL | |
| visitorname | varchar(255) | YES | | NULL | |
| company | varchar(255) | YES | | NULL | |
| contact | varchar(30) | YES | | NULL | |
| whometomeet | varchar(255) | YES | | NULL | |
+-------------+--------------+------+-----+---------+----------------+

并触发以下查询,我得到如下结果

插入访问者(vid)values(concat(replace(left(current_timestamp,10),'-',''),lpad('1','5','0')));

+----+---------------+-------------+---------+------------+-------------+
| id | vid | visitorname | company | contact | whometomeet |
+----+---------------+-------------+---------+------------+-------------+
| 1 | NULL | rakesh | godrej | 9987654123 | abcdef |
| 2 | NULL | samir | infosys | 9987654123 | abcdef |
| 3 | 2012061000001 | NULL | NULL | NULL | NULL |
+----+---------------+-------------+---------+------------+-------------+

但问题是每次我都会在vid中得到那个1,如果明天我也运行这个查询,我会得到明天的日期,但后面会跟着00001,我想要它00002。

最佳答案

我建议您不要组合这样的列 - 它使得运行与这些字段相关的查询变得非常痛苦(即效率低下......)

相反,有一个date列和一个vid列。例如

+----+----------+------+-------------+---------+------------+-------------+
| id | date | vid | visitorname | company | contact | whometomeet |
+----+----------+------+-------------+---------+------------+-------------+
| 1 | 20120610 | 1 | rakesh | godrej | 9987654123 | abcdef |
| 2 | 20120610 | 2 | samir | infosys | 9987654123 | abcdef |
+----+----------+------+-------------+---------+------------+-------------+

然后您可以选择给定日期的事件。

根据您的用例,您甚至可以将 vid 设为 AUTO_INCRMENT。 (尽管此时,很难区分 idvid 之间的区别。)

关于mysql - 如何获取2012061000001格式的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10970385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com