ID存储在哪里?

时间:2011-02-13 00:13:01

标签: c# asp.net sql log4net elmah

我同时使用Elmah和Log4Net(使用ADONetAppender),它们非常棒。但是,我注意到它们都有一个表ID键(递增数),当我清除它们的日志时它不会重置为零。他们从哪里获得此ID值?另外,log4net列是否有任何理由不使用主键作为ID值,或者如果我添加一个主键,我会遇到麻烦吗?

2 个答案:

答案 0 :(得分:1)

我怀疑它是数据库中auto increment字段的ID指令,因为当您删除条目时,此值不会重置为零,只有在被截断时(请更正我,我'我不确定)。尝试直接重置数据库中的表,而不是使用记录器基础结构。

答案 1 :(得分:1)

如果您使用的是Microsoft SQL Server,则可以使用DBCC CHECKIDENT语句重置IDENTITY列种子,如下所示:

DBCC CHECKIDENT ( table_name, RESEED, new_reseed_value )

例如,要将ELMAH_Error表的IDENTITY列重置为值1,您可以使用:

DBCC CHECKIDENT ( ELMAH_Error, RESEED, 1 )

快乐编程!