Sql 转换varchar值时,Msg 245,级别16,状态1,第1行转换失败';TP10000';到数据类型int

Sql 转换varchar值时,Msg 245,级别16,状态1,第1行转换失败';TP10000';到数据类型int,sql,sql-server,Sql,Sql Server,我知道这个错误,请帮助我 转换时,Msg 245,16级,状态1,第1行转换失败 将varchar值“TP10000”设置为数据类型int 欢迎使用SO-请格式化您的代码,以便于其他人阅读。将varchar值“TP10000”转换为数据类型int时,转换失败。-无法将varchar转换为整数,该错误表明……我确信您会遇到此错误只有在使用列列表且identity_INSERT处于启用状态时,才能为表“STUDENT”中的identity列指定显式值,而不是您提到的值。您试图在标识列中插入,这是我发

我知道这个错误,请帮助我

转换时,Msg 245,16级,状态1,第1行转换失败 将varchar值“TP10000”设置为数据类型int


欢迎使用SO-请格式化您的代码,以便于其他人阅读。
将varchar值“TP10000”转换为数据类型int时,转换失败。
-无法将varchar转换为整数,该错误表明……我确信您会遇到此错误
只有在使用列列表且identity_INSERT处于启用状态时,才能为表“STUDENT”中的identity列指定显式值,而不是您提到的值。您试图在标识列中插入,这是我发现的唯一错误。这取决于sql server版本。您的问题是,您在表中添加了一个
identity
Age int identity not null
在所有版本的sql server中,
identity
列将自动生成值,并且在某些情况下版本它将作为
insert语句中的第一列排序,而不包含列列表,因此您的错误在于尝试在int列上添加varchar
'TP10000'
。将年龄列创建为
age int not null
,然后查看它是否有效。然后我会补充一个答案。
create database APU

create table STUDENT
(
Stud_Id varchar(50), 
Name varchar (50),
Major varchar (50),
Age int identity not null
)

select*
from STUDENT



insert into STUDENT values ('TP10000','Jamal','Economy','21')
insert into STUDENT values ('TP15000','Putih','Communicatio','19')
insert into STUDENT values ('TP20000' , 'Bakar' ,'Economy', '25')
insert into STUDENT values ('TP25000' , 'Gibson','Management','24')
insert into STUDENT values ('TP35000',  'Rohaya','Computer Science','20')
insert into STUDENT values ('TP40000','Remi','Business','19')


create table student2
(
Stud_Id varchar(50), 
Name varchar (50),
Major varchar (50),
Age int identity not null
)

select*
from STUDENT       
select*
from student

when i execute this part 

insert into STUDENT values ('TP10000','Jamal','Economy','21')
insert into STUDENT values ('TP15000','Putih','Communicatio','19')
insert into STUDENT values ('TP20000' , 'Bakar' ,'Economy', '25')
insert into STUDENT values ('TP25000' , 'Gibson','Management','24')
insert into STUDENT values ('TP35000',  'Rohaya','Computer Science','20')
insert into STUDENT values ('TP40000','Remi','Business','19')