gpt4 book ai didi

sql-server - 自增主键生成奇怪的值

转载 作者:行者123 更新时间:2023-12-02 07:34:23 24 4
gpt4 key购买 nike

<分区>

我有一个包含三列的表,基本的 SELECT 语句如下所示:

SELECT TOP 1000 [PatchHistoryId]
,CASE
WHEN [PatchName] LIKE N'1_%' THEN '1_aaa'
WHEN [PatchName] LIKE N'2_%' THEN '2_bbb'
WHEN [PatchName] LIKE N'3_%' THEN '3_ccc'
WHEN [PatchName] LIKE N'4_%' THEN '4_ddd'
WHEN [PatchName] LIKE N'5_%' THEN '5_eee'
WHEN [PatchName] LIKE N'6_%' THEN '6_fff'
WHEN [PatchName] LIKE N'7_%' THEN '7_ggg'
WHEN [PatchName] LIKE N'8_%' THEN '8_hhh' END AS PatchName
,[CreatedDate]

FROM [PatchHistory]

结果如下图所示:

PatchHistoryId | PatchName | CreatedDate

-------------------------------------------

1 1_aaa 2013-07-19 12:50:14.637
2 2_bbb 2013-07-19 12:50:16.570
1002 3_ccc 2013-07-26 08:53:33.557
1003 3_ccc 2013-07-26 08:55:38.600
2002 4_ddd 2013-07-29 11:32:28.320
2003 4_ddd 2013-07-29 11:35:02.123
2004 4_ddd 2013-07-29 14:24:36.297
3002 4_ddd 2013-08-01 09:24:01.537
4002 6_fff 2013-08-06 11:18:29.990
5002 7_ggg 2013-08-08 15:22:56.990
6002 8_hhh 2013-08-20 15:15:35.157
6003 8_hhh 2013-08-20 15:16:40.300
6004 8_hhh 2013-08-20 15:18:00.177
6005 8_hhh 2013-08-20 15:18:00.370
6006 8_hhh 2013-08-20 15:18:00.587
6007 8_hhh 2013-08-20 15:18:00.747
6008 8_hhh 2013-08-20 15:18:00.957
6009 8_hhh 2013-08-20 15:18:01.100
6010 8_hhh 2013-08-20 15:18:01.263
6011 6_fff 2013-08-20 15:18:17.300
6012 8_hhh 2013-08-20 15:28:30.373

现在,首先我发现标识值非常高,因为我知道我只插入值 20-30 次,而没有删除行。假设这样,最大身份值需要 < 100,但不是。

我注意到 1000-1003 范围内的身份属于一个日期,2000-2004 属于另一个日期,6000-6012 也属于另一个日期,对我来说这很奇怪。

看来,如果我明天插入数据,下一个身份就不会是 6013,而是 7000,或者更大的东西。

在这种情况下有什么技巧。

附言表设计中,PatchHistoryIdint,Identity seed为1,Increment为1。

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