我正在迁移一个没有身份约束的旧数据库,我正在添加到新数据库,一切正常,但是当我检查我创建的日志文件时,我注意到这个错误,其中奇怪的部分是表具有自动增量为 1 的标识键
我正在使用的代码是这样的:
var cmd1 = new SqlCommand();
cmd1.Parameters.Clear();
cmd1.Connection = mySqlConnection;
cmd1.CommandType = CommandType.Text;
cmd1.CommandText = @"INSERT INTO [Tomin].[TominPredial].[Calle]([Nombre],[Id_Colonia]"
+ ",[Id_User],[Id_Date])"
+ " VALUES(@Nombre,@Id_Colonia,@Id_User,@Id_Date)";
cmd1.Parameters.AddWithValue("@Nombre", nombreCalle);
cmd1.Parameters.AddWithValue("@Id_Colonia", id_col);
cmd1.Parameters.AddWithValue("@Id_User", "Admin");
cmd1.Parameters.AddWithValue("@Id_Date", DateTime.Now);
cmd1.ExecuteNonQuery();
我不知道这是怎么回事,因为我没有发送主键,因为我想自动增量会为我设置它,知道发生了什么吗?
引发错误的 ID 值从 1 开始并以 562 结束,当我删除数据时,我使用DBCC CHECKIDENT('Tomin.TominPredial.Calle', RESEED, 0)
CREATE TABLE TominPredial.Calle (
Id_Calle SMALLINT NOT NULL IDENTITY(1,1) CONSTRAINT PK_Calle PRIMARY KEY,
Nombre NVARCHAR(50) NOT NULL,
Id_Colonia SMALLINT NOT NULL CONSTRAINT FK_Calle_Colonia REFERENCES TominPredial.Colonia (Id_Colonia),
Id_User NVARCHAR(30) NOT NULL CONSTRAINT FK_Calle_User REFERENCES TominUsuario.Usuario (ID),
Id_Date DATETIME2 NOT NULL,
Id_Estatus TINYINT DEFAULT 1 NOT NULL CONSTRAINT FK_Calle_Estatus REFERENCES TominSistema.Estatus (Id_Estatus)
);
GO