我希望我的主键是日期加上自动增加的ID(即“20151013& ID”)。
如何将ID与日期作为主键递增?是否可以仅增加ID但不增加日期?我正在使用VB.net。
答案 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