我如何将日期作为主要自动增量

时间:2015-10-12 16:27:54

标签: vb.net primary-key

我希望我的主键是日期加上自动增加的ID(即“20151013& ID”)。

如何将ID与日期作为主键递增?是否可以仅增加ID但不增加日期?我正在使用VB.net。

1 个答案:

答案 0 :(得分:2)

这是一个糟糕的设计理念。您的主键应该是自动增量(标识)整数或长整数。如果由于某种原因需要ID和日期连接在一起,那么在VB.Net端进行:

myRow = GetRowFromDatabase() ' Fetch Row
Dim dateAndId As String = String.Format("{0}{1}", myRow.Date, myRow.Id)

SQL Server(以及大多数其他数据库)不会自动增加字段,除非它是一个整数字段,例如'Integer','Long','Short'等。如果您在数据库中绝对需要此功能,然后考虑使用类似于此的'SELECT'语句创建视图:

SELECT CONVERT(VARCHAR(10), MyDate, 101) + CAST(id AS NVARCHAR(50)) AS MyIdDateField,  
* FROM MyTable