我做了一个INSERT的存储过程!主键T_ID设为自动增长,可当在执行过程中,当T_ID到达11时,就报以下错误:
违反了 PRIMARY KEY 约束 'PK_USER'。不能在对象 'T_10' 中插入重复键。
语句已终止。
存储过程如下:(请问怎么修改呢?)LTER PROCEDURE T_10_INSERT -- @T_ID VARCHAR(150)=NULL
@U_ID VARCHAR(20)
, @T_TITLE VARCHAR(50)
, @T_TEXT VARCHAR(50)='AAAAAAA'
, @T_DATE DATETIME='2006-10-20'AS
DECLARE @SQL VARCHAR(1000)
,@T_ID VARCHAR(150)
SET @T_ID=ISNULL((SELECT MAX(T_ID) FROM T_10 ),0)+1
INSERT T_10 ( T_ID
,U_ID
,T_TITLE
,T_TEXT
,T_DATE
)
VALUES ( @T_ID
, @U_ID
,@T_TITLE
,@T_TEXT
,@T_DATE
) SELECT RESULT = 1
违反了 PRIMARY KEY 约束 'PK_USER'。不能在对象 'T_10' 中插入重复键。
语句已终止。
存储过程如下:(请问怎么修改呢?)LTER PROCEDURE T_10_INSERT -- @T_ID VARCHAR(150)=NULL
@U_ID VARCHAR(20)
, @T_TITLE VARCHAR(50)
, @T_TEXT VARCHAR(50)='AAAAAAA'
, @T_DATE DATETIME='2006-10-20'AS
DECLARE @SQL VARCHAR(1000)
,@T_ID VARCHAR(150)
SET @T_ID=ISNULL((SELECT MAX(T_ID) FROM T_10 ),0)+1
INSERT T_10 ( T_ID
,U_ID
,T_TITLE
,T_TEXT
,T_DATE
)
VALUES ( @T_ID
, @U_ID
,@T_TITLE
,@T_TEXT
,@T_DATE
) SELECT RESULT = 1
是不是这里出的问题?
,T_TITLE
,T_TEXT
,T_DATE
)
VALUES ( @U_ID
,@T_TITLE
,@T_TEXT
,@T_DATE
)
是自动增长的字段就不需要赋值。。
这个值是11?
-->
SET @T_ID=ISNULL(cast((SELECT MAX(T_ID) FROM T_10 ) as int),0)+1